Heim >Web-Frontend >Front-End-Fragen und Antworten >Welche JQuery-Ereignisdelegationsmethoden gibt es?

Welche JQuery-Ereignisdelegationsmethoden gibt es?

青灯夜游
青灯夜游Original
2022-03-10 16:59:575430Durchsuche

Jquery-Ereignisdelegierungsmethoden umfassen: 1. blind()-Methode, die hauptsächlich zum Binden von Ereignissen an ausgewählte Elemente verwendet wird; 2. live()-Methode, um einen oder mehrere Ereignishandler zu aktuellen oder zukünftigen übereinstimmenden Elementen hinzuzufügen; 4. on()-Methode, die zum Binden von Abhörereignissen an das nächstgelegene übergeordnete Element verwendet wird.

Welche JQuery-Ereignisdelegationsmethoden gibt es?

Die Betriebsumgebung dieses Tutorials: Windows7-System, jquery1.10.2-Version, Dell G3-Computer.

Was ist Eventdelegation?

Die Ereignisse des untergeordneten Elements werden an das übergeordnete Element delegiert, anstatt es dem untergeordneten Element zuzuweisen, um das Ereignis selbst zu binden und dann das entsprechende event.target zu finden, wenn das Ereignis ausgelöst wird.

bezieht sich auf die Verwendung Event-Bubbling und nur Angabe eines Event-Handlers Programm zur Verwaltung aller Events eines bestimmten Typs

Warum Event-Delegation verwenden?

Denn die Anzahl der in js zur Seite hinzugefügten Ereignishandler wirkt sich auf die Gesamtleistung der Seite aus.

Zweitens ist es zu mühsam, Ereignishandler einzeln zur Liste hinzuzufügen. Daher wird die Ereignisdelegierung erheblich verbessert die laufende Leistung der Seite.

Durchlaufen von Ereignissen an die LI unter UL durch eine for-Schleife, aber es wirkt sich tatsächlich auf die laufende Leistung der Seite aus Der Sprudelmodus wird verwendet, um das Problem zu lösen.

Es kann jedoch sein, dass die an ul gebundenen Ereignisse nicht nach der Implementierung betroffen sind.

Ein neues Konzept wird eingeführt: Ereignisquelle: Egal an welches Element das Ereignis gebunden ist, es bezieht sich auf das Ziel, das das Ereignis tatsächlich auslöst

event.target

zB:ul.onclick=function(event){ }

Die einfache Sache besteht darin, den DOM-Zugriff zu reduzieren, den Speicher zu reduzieren und die Laufleistung der Seite zu verbessern zum Auswählen von Elementen für die Ereignisbindung

Syntax:

blind("事件类型",data,function(){ });
//data是传入函数的参数用event.data获取(平时用的.click()等都是其简化用法)

Funktionen; Geeignet für statische Seiten, kann nur an Elemente gebunden werden, die beim Aufruf bereits vorhanden sind, und nicht an Elemente gebunden werden, die in der Zukunft hinzugefügt werden Wenn die Seite wird geladen, blind ausführen;

2, live (nicht unterstützt nach 1.7)

Definition: Fügen Sie einen oder mehrere Event-Handler zu den aktuellen oder zukünftigen passenden Elementen hinzu;

Syntax:

live("事件类型",data, 函数名);//data可选

Funktionen: Live wird nicht hinzugefügt events Binden Sie sich an sich selbst (dies), aber an this.context

Es dient dazu, den Ereignisdelegierungsmechanismus zu verwenden, um die Überwachung und Verarbeitung von Ereignissen abzuschließen und die Verarbeitung von Knoten an das Dokument zu delegieren

Neu hinzugefügte Elemente müssen dies nicht tun nicht mehr gebunden sein. Ein Listener kann mehrere Ereignisse verarbeiten. Kann nur hinter dem direkt ausgewählten Element platziert werden

Syntax:

delegate(selector,type,[data],fn)
Eigenschaften: Genauere Verwendung von Ereignis-Proxys in einem kleinen Bereich, Leistung ist besser als .live(). Kann für dynamisch hinzugefügte Elemente verwendet werden.

("父级选择器").delegate(".a","click",function())//表示:.a的事件通过父级元素进行委托,(this)获取的是触发事件的子元素

4, on

Definition; Binden Sie das Listening-Ereignis an das nächste übergeordnete Element.

Syntax:

on(type, 选择器,方法)

Funktionen: Listening-Ereignisse können auch für neu hinzugefügte Tags unter dem übergeordneten Element verwendet werden. Verarbeitung von Zeitereignissen

【Empfohlenes Lernen:

jQuery-Video-Tutorial

, Web-Front-End-Video

Das obige ist der detaillierte Inhalt vonWelche JQuery-Ereignisdelegationsmethoden gibt es?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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