2009-07-03 18 views
6

में < li > पर ईवेंट पर हस्ताक्षर करें, मैं कुछ डेटा प्रदर्शित करने के लिए JQuery Treeview प्लगइन का उपयोग कर रहा हूं। असल में, मैं बच्चे को < li> तत्वों पर एक क्लिक ईवेंट जोड़ना चाहता हूं जो पृष्ठ पर किसी अन्य div में उनके आंतरिक HTML को कॉपी करता है। हालांकि मैं इन < li> तत्वों पर एक क्लिक ईवेंट असाइन करने में सक्षम नहीं हूं।JQuery Treeview

किसी को उम्मीद है कि इससे पहले इस जमीन को चलाना होगा और कुछ मदद प्रदान कर सकता है।

धन्यवाद।

+0

तुम सिर्फ कोशिश की है करने के लिए क्लिक करें घटना जोड़ना होगा: (" #nameOfLi ") पर क्लिक करें (function() {चेतावनी ('foo');}।) ;? – Peter

+1

हां - ऐसा लगता है कि मेरे लिए भी क्लिक संलग्न नहीं है। एक ही कोड ट्रीव्यू के बाहर पृष्ठ पर कहीं भी तत्वों पर क्लिक ईवेंट संलग्न करेगा (जाहिर है)। – WorkingWeb

+0

क्या आप एक कोड स्निपेट पोस्ट कर सकते हैं? – Peter

उत्तर

6

उदाहरण से मार्कअप का उपयोग http://docs.jquery.com/Plugins/Treeview पर:

$("span.file, span.folder", "#example li") 
    .click(function() { alert($(this).text()); }); 

काम करता है। एलआई आइटम पर क्लिक को संभालने से शाखा संकुचन और विस्तार कैप्चर होता है।

+1

धन्यवाद, आपकी टिप्पणी ने मुझे एहसास दिलाया कि जिस तरह से मैं वृक्षदृश्य (JSON के माध्यम से और शाखाओं को जोड़ने) का निर्माण कर रहा था, जो इस मुद्दे का कारण बन रहा था। गतिशील रूप से जेनरेट की गई शाखाओं को जोड़ने के बाद मैं क्लिक इवेंट को सही करके अपना मुद्दा हल करने में सक्षम था। – WorkingWeb

6

आप .live निर्माण का उपयोग कर सकते हैं। मेरे लिए यह काम करता है:

$('li','ul#menu').live('click', function(){ 
    alert('Click event');  
}); 
0

तरह की कोशिश करो इस

$('li:not(:has(>ul))', 'ul#menu').live('click', function() {    
       alert($(this).text()); 
      }); 

यह पत्ती नोड केवल (नहीं रूट नोड)

1
<li onclick="selectNode(event, this);" id="${node2.nodeId}" class="closed"> 
    <span class="folder"> ${node2.name} </span> 
</li> 




function selectNode(event, nodeHtmlEl) { 
    // IE 
    if ($.browser.msie) { 
     window.event.cancelBubble = true; 
    } 
    if(event.stopPropagation) { 
     event.stopPropagation(); 
    } 
    alert("selectNode ID: " + $(nodeHtmlEl).attr("id")); 
}