2014-12-03 38 views
2

如果我將FX 1-5頂端我創造了這個jstree 3得到

http://jsfiddle.net/n82vvvo6/

jQuery(function($) { 
    $(document).on('dnd_stop.vakata', function(e, data) { 
     var origin = $(data.element); 
     var target = $(data.event.target); 
     // Missing something here to get if the origin is before or after the target 

     $('#result').html(
      '<div><b>Target:</b> ' + target.html() + '</div>' + 
      '<div><b>Origin:</b> ' + origin.html() + '</div>' 
     ); 
    }) 

    $('#jstree_demo').jstree({ 
     "core" : { 
     "check_callback" : true, 
     "themes" : { "stripes" : true }, 
     }, 
     "plugins" : [ 
     "dnd" 
     ] 
    }); 
}); 

現在當目標得到了下降的位置,目標是1-1 但如果我將fx 1-5移到底部,目標是1-8

有沒有什麼方法可以找出原點是在目標之前還是之後?

回答

3

這可能與您的直接問題稍有不同,但這是我如何解決找出放置位置的問題。 在調用'dnd_stop.vakata'之後,將調用包含正在移動的項目,舊父項,新父項和索引點的'move_node.jstree'事件以刪除項目。

$('#AdminTree').on("move_node.jstree", function (e, data) { 

     //item being moved      
     var moveitemID = $('#' + data.node.id).find('a')[0].id;    

     //new parent 
     var newParentID = $('#' + data.parent).find('a')[0].id; 

     //old parent 
     var oldParentID = $('#' + data.old_parent).find('a')[0].id; 

     //position index point in group 
     //old position 
     var oldPostionIndex = data.old_position; 
     //new position 
     var newPostionIndex = data.position; 
    });