Heim > Web-Frontend > js-Tutorial > Hauptteil

jquery verhindert das Sprudeln von Ereignissen und seine Lösung

一个新手
Freigeben: 2017-09-13 10:05:58
Original
2099 Leute haben es durchsucht


Live-Event zum dynamischen Hinzufügen von Tags

Hinweis: jquery unterstützt nach Version 1.8 keine Live-Events mehr

In tatsächlichen Projekten aufgetretene Probleme, dynamisch hinzugefügte Tags
Live verhindert das Auftreten von Blasenbildung. Unabhängig davon, ob Sie return false oder e.stopPropagation() verwenden, können Sie das Auftreten von Blasenbildung nicht verhindern
Das Folgende ist ein Beispiel meiner eigenen Zusammenfassung

html
<p id="box"> 
  <a href="javascript:;" class="delete">init html</a>
</p> 
<button id="add">add html</button>
Nach dem Login kopieren
jq
 $(function() {

     // 用click事件
    $(document).click( function(event) {
        console.log(&#39;click&#39;);
        event.stopPropagation();
    });

    // 用delegate事件
    $(document).delegate(&#39;.delete&#39;,&#39;click&#39;, function(event) {
        console.log(&#39;delegate&#39;);
        event.stopPropagation();
    });

    // 用live事件
    $(&#39;.delete&#39;).live(&#39;click&#39;, function(event) {
        console.log(&#39;live&#39;);
        event.stopPropagation();
        //return false;
    });

    // 新添加的a标签
    $(&#39;#add&#39;).click(function() {
        var html = &#39;<a href="javascript:;" class="delete">new html 1</a>&#39;;
        $(&#39;#box&#39;).append(html);
    });

    $(&#39;#box&#39;).click(function() {
        console.log(&#39;box emit&#39;);
    });

});
Nach dem Login kopieren

Lösung:
Wir wissen, dass event.stopPropagation( ) wirkt sich negativ auf den Klick aus. Da die Verhinderung von Blasenbildung wirksam ist, können Sie das Klickereignis an das neu dynamisch hinzugefügte Etikett binden.

Das obige ist der detaillierte Inhalt vonjquery verhindert das Sprudeln von Ereignissen und seine Lösung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage