2011-05-09 13 views
6

मैं jstree ऑब्जेक्ट पर डबल-क्लिक ईवेंट के लिए श्रोता कैसे लिखूं? (उदाहरण के लिए, मैं एक पेड़ नोड पर डबल-क्लिक करना चाहता हूं और अपने एंकर के href मूल्य को input फ़ील्ड में कहीं भी एक पेस्ट में पेस्ट करना चाहता हूं।)jstree पर डबल-क्लिक करने के लिए कैसे सुनें?

+0

की संभावित डुप्लिकेट [कैसे क्या मैं jsTree में डबल क्लिक पर कस्टम व्यवहार संलग्न कर सकता हूं?] (http://stackoverflow.com/questions/3674625/how-can-i-attach-custom-behaviour-to-a-double-click-in-jstree) –

उत्तर

8

मैंने एक साल पहले इस तरह कुछ उपयोग किया है, मैं नहीं करता 'टी पता है वर्तमान jstree संस्करण में कोई बदलाव नहीं है, तो:

jstree.bind("dblclick.jstree", function (event) { 
    var node = $(event.target).closest("li"); 
    var data = node.data("jstree"); 
    // Do some action 
}); 

नोड: ली जाती है कि क्लिक किया जा रहा होता है।

डेटा: मेटाडेटा शामिल है।

+2

'// कुछ कार्रवाई करें' के बाद, यदि मैं 'अलर्ट (डेटा) जोड़ता हूं, तो मुझे' शून्य 'मिलता है। –

+0

यह SO उत्तर आपके नजदीक है और काम करने लगता है: http://stackoverflow.com/questions/3674625/how-can-i-attach-custom-behaviour-to-a-double-click-in-jstree/5652753 # 5652753 –

+4

node.data ("jstree") jstree (3.1.x) के नवीनतम संस्करण में अपरिभाषित लौट रहा है तो इसका उपयोग करें: 'var tree = $ (this) .jstree(); \t \t \t var node = tree.get_node (evt.target); \t \t \t var nodePath = tree.get_path (node) .join ("/"); ' तो आपके पास किसी भी वृक्ष API को आमंत्रित करने के लिए नोड ऑब्जेक्ट और पेड़ ऑब्जेक्ट दोनों हैं – TechMaze

4

निर्मल का समाधान काम करता है यदि आप jstree div पर कहीं भी क्लिक करते हैं। मैं केवल नोड्स पर डबल क्लिक सक्षम करना चाहता था, उदाहरण के लिए, दाईं ओर सफेद जगह पर। समाधान को बदलने एक छोटे से यह सक्षम:

$('#jstree-div a').live('dblclick',function (e) { 
    var node = $(e.target).closest("li"); 
    var type = node.attr('rel'); 
    var item = node[0].id; 

    // do stuff... 
}); 

सुनिश्चित नहीं हैं कि क्यों 'rel' और 'आईडी' गुण जिसके परिणामस्वरूप नोड में विभिन्न स्थानों में हैं, लेकिन यह काम करता है;)

संबंधित मुद्दे