title: jstree dnd plugin - prevent move after drop?
body: <p>I need to execute an ajax call after the user moves a node in a jsTree using the dnd plugin. If that ajax call returns an error, I need to either prevent the move from happening, or reverse the action altogether. From the <code>move_node</code> event listener, is there a way to tell the dnd plugin to reverse the drop or somehow cancel the action? I've tried returning <code>false</code> and setting <code>e.preventDefault()</code> and <code>e.stopImmediatePropagation()</code> but nothing seems to work.</p>
  
  <pre><code>$($tree).jstree({
      core: {
          data: $treeData,
          check_callback: function (op, node, parent, position, more) {
              switch (op) {
                  case 'move_node':
                      // moveNode() validates the move based on
                      // some data stored in each node, but doesn't
                      // (and shouldn't) make an ajax call to determine
                      // if the node *actually can* be moved
                      return moveNode(node, parent, position, more);
              }
          }
      },
      plugins: ['dnd']
  }).on('move_node.jstree', function(e, data) {
      // moveNode() returned true and the user moved the node
      if (!doMoveNode(data)) {
          // none of this works!!
          e.preventDefault();
          e.stopImmediatePropagation();
          return false;
      }
  });
  </code></pre>