Heim > Web-Frontend > js-Tutorial > Erklären Sie die JavaScript-Ereignisdelegationstechnologie

Erklären Sie die JavaScript-Ereignisdelegationstechnologie

高洛峰
Freigeben: 2016-11-25 14:20:54
Original
969 Leute haben es durchsucht

Bevor wir es erklären, sprechen wir über die Leistung.

Wenn eine ganze Seite eine große Anzahl von Schaltflächen enthält, müssen wir Ereignishandler an jede Schaltfläche binden. Dies wirkt sich auf die Leistung aus.

Erstens ist jede Funktion ein Objekt und das Objekt belegt viel Speicher.

Zweitens steigt die Anzahl der DOM-Zugriffe führt zu verzögertem Laden der Seite. Tatsächlich gibt es immer noch gute Lösungen für die sinnvolle Nutzung von Ereignishandlern.

Ereignisdelegation

Die Lösung für das Problem zu vieler Ereignisse Handler ist eine Ereignisdelegationstechnologie.

Die Ereignisdelegationstechnologie nutzt die Möglichkeit, Ereignisse zu sprudeln.

Wir können einen Ereignishandler an ein übergeordnetes Element binden ein Ereignis.

HTML-Code:

<ul id="mylist">
        <li id="li_1">sdsdsd</li>
        <li id="li_2">sdsdsd</li>
        <li id="li_3">sdsdsd</li>
</ul>
Nach dem Login kopieren

Jetzt müssen wir Ereignishandler für diese 3 li binden.

Nur ​​die ul binden Definierter Event-Handler.

js-Code:

obj.eventHandler($("mylist"),"click",function(e){
                    e = e || window.event;
                    switch(e.target.id){    //大家应该还记得target是事件目标,只要点击了事件的目标元素就会弹出相应的alert.
                        case "li_1":
                        alert("li_1");
                        break;
                        case "li_2":
                        alert("li_2");
                        break;
                        case "li_3":
                        alert("li_3");
                        break
                    }
                })
Nach dem Login kopieren

In einer komplexen Webanwendung ist diese Art der Event-Delegation sehr praktisch.

Wenn Sie diese Methode nicht verwenden, gibt es unzählige Event-Handler, wenn Sie sie einzeln binden.

Okay, das ist es


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