Beim Durchsuchen der veralteten Liste von jQuery habe ich live() und die() darin gefunden. Ich habe schnell einen Blick darauf geworfen und festgestellt, dass jQuery ab jQuery 1.7 einen neuen Ereignisbindungsmechanismus eingeführt hat, on() und off() Zwei Funktionen behandeln die Ereignisbindung einheitlich. Da es zuvor bind(), live(), Delegate() und andere Methoden zur Verarbeitung der Ereignisbindung gab, beschloss jQuery, eine neue Funktion zu starten, um die Ereignisbindungsmethoden zu vereinheitlichen und die vorherigen Methoden unter den Aspekten der Leistungsoptimierung und Methodenvereinheitlichung zu ersetzen . .
on(events,[selector],[data],fn)
Ereignisse: Ein oder mehrere Ereignistypen, getrennt durch Leerzeichen und einen optionalen Namespace, wie zum Beispiel „click“ oder „keydown.myPlugin“.
Selektor: Eine Selektorzeichenfolge für die Nachkommen des Selektorelements, das das Filterereignis auslöst. Wenn der Selektor null ist oder weggelassen wird, wird das Ereignis immer ausgelöst, wenn es das ausgewählte Element erreicht.
Daten: Wenn ein Ereignis ausgelöst wird, müssen event.data an die Ereignisverarbeitungsfunktion übergeben werden.
fn: Die Funktion, die ausgeführt wird, wenn das Ereignis ausgelöst wird. Der Wert false kann auch als Abkürzung für eine Funktion verwendet werden, die false zurückgibt.
Ersetzen Sie bind()
Wenn der zweite Parameter „selector“ null ist, gibt es im Grunde keinen Unterschied in der Verwendung zwischen on() und bind(), sodass wir davon ausgehen können, dass on() einfach besser ist als bind ( ) verfügt über einen optionalen 'selector'-Parameter, sodass on() problemlos bind()
Ersetzen Sie live()
Vor 1.4 hat jeder gerne live() verwendet, weil es Ereignisse an aktuelle und zukünftige Elemente binden kann. Nach 1.4 ist natürlich auch etwas passiert . Das Prinzip von live() ist sehr einfach. Es delegiert Ereignisse über das Dokument, sodass wir auch on() verwenden können, um den gleichen Effekt wie live() zu erzielen, indem wir das Ereignis an das Dokument binden.
Live()-Schreibmethode
Wie schreibe ich Delegate()
Code kopieren
Der Code lautet wie folgt: