2014-05-04 10 views
7

क्या आप कृपया मुझे बता सकते हैं कि jstree के पंक्ति तत्व की क्लिक घटना कैसे प्राप्त करें? मैं अपने फीड में जेस्ट्री का डेमो बना देता हूं। यह पैनल में बनाया गया है। आपको पैनल को देखने के लिए "ओपन पैनल" बटन दबाएंjstree के पंक्ति तत्व की क्लिक घटना कैसे प्राप्त करें?

मैं इसे क्लिक करने के लिए jstree तत्व की घटना पर क्लिक करना चाहता हूं? पेड़ की तैयारी के लिए मुझे कई बार "केस केस जोड़ें बटन" दबाएं और फिर "ओपन पैनल" बटन दबाएं। घटनाओं की एक सूची के लिए

$('#tree').on("select_node.jstree", function (e, data) { alert("node_id: " + data.node.id); }); 

देखो jsTree API events:

यहाँ मेरी बेला http://jsfiddle.net/ZLe2R/6/

function addMenuItemsOfTestSuit(id){ 

var menuid = "menu_" + id; 
     var ref = $('#tree').jstree(true); 
     alert('thank') 
    ref.create_node("#", {"id" : menuid, "text" : id}); 

     ref.deselect_all(); 

} 

उत्तर

15

इस घटना श्रोता उपयोग है।

संपादित करें: एक बेला बनाया: http://jsfiddle.net/y7ar9/4/

+0

क्या आप कृपया पहेली का उपयोग कर सकते हैं? –

+0

अच्छा उत्तर महोदय, मेरे पास कुछ प्रश्न हैं –

+0

क्या हम "टेक्स्ट" जैसे "tc_1" और "tc_2" –

3

आप उपयोग कर सकते हैं

$(document).on('click', '.jstree-anchor', function(e) {...}); 

आप अपने स्वयं के कार्य करने के लिए अपने क्लिक हैंडलर ले जाएँ और लंगर के माता-पिता से id प्राप्त करना चाहते हो सकता है:

$(document).on('click', '.jstree-anchor', function(e) { 
    var anchorId = $(this).parent().attr('id'); 
    var clickId = anchorId.substring(anchorId.indexOf('_') + 1, anchorId.length); 
    onMenuItemClick(clickId, e); 
}); 
$(document).on('click', '.clickTestCaseRow', function (e) { 
    onMenuItemClick(this.id, e); 
}); 
function onMenuItemClick(clickId, e) { 
    hideDisplayView(); 
    displayNewView(clickId); 
    e.stopPropagation(); 
} 

Here is a fiddle.

+0

अब हम केवल ">" इस छवि का उपयोग करके विस्तार कर सकते हैं –

+0

यह कोणीय के साथ काम करता है। धन्यवाद! – ThanhLD

0

व्यक्तिगत रूप से मुझे ईवेंट 'activate_node' पसंद है। यदि आप नोड चयन परिवर्तन पर पोस्टबैक करते हैं और पृष्ठ को पुनः लोड किया जाता है और नोड अभी भी चुना जाता है तो यह एक और घटना को अंतहीन पोस्टबैक लूप के कारण आग लगने का कारण नहीं बनता है।

$('#jstree').on('activate_node.jstree', function (e, data) { 
    if (data == undefined || data.node == undefined || data.node.id == undefined) 
       return; 
    alert('clicked node: ' + data.node.id); 
}); 
संबंधित मुद्दे