2012-05-07 14 views
12

मैं jstree में एक नोड के लिए ले जाने की कार्यक्षमता लागू करना चाहते हैं jstree। क्या यह वह कदम है जिसे लागू करने की आवश्यकता है या ड्रैग और ड्रॉप? एलोस, कंटेनर को ईवेंट और ईवेंट कोड को बाध्य करने से काम करने वाला कोड होना अच्छा लगेगा।ले जाते हैं, ड्रैग और ड्रॉप

उत्तर

18

आपको केवल डीएनडी प्लगइन का उपयोग करने की आवश्यकता है यदि आपको किसी भी चाल नियम को लागू करने की आवश्यकता नहीं है (कुछ नोड्स को अन्य नोड्स आदि में स्थानांतरित करने की अनुमति न दें) यदि आपको चाल नियमों को लागू करने की आवश्यकता है, तो आप जोड़ सकते हैं crrm प्लगइन।

इस का एक उदाहरण के लिए DND pluign दस्तावेज की Reorder only demo देखें। दस्तावेज बहुत खराब है, इसलिए आपको check_move कॉलबैक के पैरामीटर के गुणों को देखने के लिए अपने ब्राउज़र पर डेवलपर टूल का उपयोग करना होगा। प्रलेखन में उदाहरण के लिए, m.o आपके ड्रैग किए गए नोड को संदर्भित करता है और m.r आपके गंतव्य नोड को संदर्भित करता है।

तुम भी संभावना सूचना भेजता है जब एक नोड ले जाया जाता है की जरूरत है, तो move_node.jstree घटना के लिए बाध्य है जब आप पेड़ को प्रारंभ करेंगे:

$("#treeHost").jstree({ 
    ... 
    }).bind("move_node.jstree", function (e, data) { 
     // data.rslt.o is a list of objects that were moved 
     // Inspect data using your fav dev tools to see what the properties are 
     }); 
    }) 
+0

धन्यवाद Bojin। यह सहायक था। –

+3

ऐसा लगता है कि फरवरी 2014 तक प्लगइन के v3 में crrm प्लगइन को हटा दिया गया है। । इस संयम को देखते हुए सशर्त ड्रॉप लक्ष्यों के साथ काम करने के तरीके पर कोई संकेत? –

+0

क्या हम सीआरआरएम में जो भी इस्तेमाल करते थे, उसे पूरा करने के लिए डीएनडी के संयोजन में अब टाइप प्लगइन का उपयोग करना चाहते हैं? –

10
$("#demo1").jstree({ 
.... 
.bind("move_node.jstree", function (e, data) { 

    /* 
    requires crrm plugin 

    .o - the node being moved 
    .r - the reference node in the move 
    .ot - the origin tree instance 
    .rt - the reference tree instance 
    .p - the position to move to (may be a string - "last", "first", etc) 
    .cp - the calculated position to move to (always a number) 
    .np - the new parent 
    .oc - the original node (if there was a copy) 
    .cy - boolen indicating if the move was a copy 
    .cr - same as np, but if a root node is created this is -1 
    .op - the former parent 
    .or - the node that was previously in the position of the moved node */ 

    var nodeType = $(data.rslt.o).attr("rel"); 
    var parentType = $(data.rslt.np).attr("rel"); 

    if (nodeType && parentType) { 
     // TODO! 
    } 
}) 
}); 
संबंधित मुद्दे