2009-07-03 13 views
6

Bazı verileri görüntülemek için JQuery Treeview eklentisini kullanıyorum. Temel olarak, iç sayfalarını sayfadaki başka bir div'a kopyalayan < li> öğelerine bir tıklama olayı eklemek istiyorum. Bununla birlikte, bu < li> öğelerine bir tıklama olayı atayamadım.JQuery Treeview'de Olayları Atama < li >

Birisi daha önce bu zemini bastırma ve bazı yardımlar sunabilir.

Teşekkürler. http://docs.jquery.com/Plugins/Treeview de örnekten işaretlemeyi kullanma

+0

yaprak düğümü sadece (Kök düğüm) tıklama etkinlik eklenecek

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

bu: (" #nameOfLi ") tıklayın (function() {alert ('foo');}). ;? – Peter

+1

evet - Bu tıklama benim için bile eklenmiyor. Aynı kod, sayfanın herhangi bir yerindeki ağaç görünümünün dışındaki öğelere bir tıklama olayı ekler (açık bir şekilde). – WorkingWeb

+0

Kod snippet'i gönderebilir misiniz? – Peter

cevap

6

:

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

çalışır. LI öğelerinin üzerindeki tıklamaları ele almak, şube kasılmalarını ve genişletmeyi yakalar.

+1

Teşekkürler, yorumunuz bana ağaç görünümü (JSON yoluyla ve dalları ekleyerek) kurma sorununu neden olduğunu anladım. Dinamik olarak oluşturulan dalları ekledikten hemen sonra, tıklama etkinliğini atayarak sorunumu çözebiliyordum. – WorkingWeb

6

.live yapımını kullanabilirsiniz. Benim için çalışıyor:

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

gibi deneyin o sadece denediniz

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")); 
}