2017-06-02 2 views
0

Ich verwende w2ui 1.5-rc1 Layout-Komponenten. Anbringen einen Event-Handler in einem Panel auf ein Element wird die Aktion nicht auslösen:W2UI: Klicken Sie auf und andere Ereignisse des Inhalts geladen in den Bereichen funktionieren nicht

<script> 
    $(function() { 
     $('#layout').w2layout({ 
      name: 'mainArea', 
      panels: [ 
       { type: 'left', size: 200, resizable: true, style: panels, content: 'left' }, 
       { type: 'main', style: main, content: 'main' } 
      ] 
     }); 
     w2ui['mainArea'].content('main', $("#list-panel").html()); 

     $("#mylist li a").click(function() { 
      alert("Handler for .click() called."); 
     }); 
    }) 
</script> 
<div id="layout"></div> 
<div id="list-panel" style="visibility: hidden" > 
    <ul id="mylist" class="list-group"> 
     <li><a href="#" onclick="alert('This one will work')"><span>Adele</span></a></li> 
     <li><a href="#"><span>Bella</span></a></li> 
     <li><a href="#"><span>Carl</span></a></li> 
    </ul> 
</div> 

Einen Klick auf den Artikeln Bella oder Carl wird nie den Alarm auslösen. Wenn ich das w2ui Layout entferne, dann funktioniert alles.

<script> 
    $(function() { 
     $("#mylist li a").click(function() { 
      alert("Handler for .click() called."); 
     }); 
    }) 
</script> 
<div id="list-panel" > 
    <ul id="mylist" class="list-group"> 
     <li><a href="#" onclick="alert('This one will work')"><span>Adele</span></a></li> 
     <li><a href="#"><span>Bella</span></a></li> 
     <li><a href="#"><span>Carl</span></a></li> 
    </ul> 
</div> 

Ich bemerkte, dass das gleiche passiert, wenn ich versuche, Bootstrap-Komponenten oder andere Inhalte in einem Panel hinzuzufügen. Die Klick-, Änderungs- und andere Ereignisse auf diesen Komponenten werden nie ausgelöst.

Irgendeine Idee warum?

Antwort

0

Wie von anderen Benutzern im w2ui github-Repository empfohlen, funktioniert das Anhängen der Ereignisse an das Dokumentelement.

$(document).on("click", "#mylist li a", function() { 
    alert("Handler for .click() called"); 
}); 
Verwandte Themen