Heim  >  Artikel  >  Web-Frontend  >  Was ist der Unterschied zwischen jquery on bind

Was ist der Unterschied zwischen jquery on bind

一个新手
一个新手Original
2017-10-07 11:39:521929Durchsuche

Ab Version 1.7+ bietet JQuery on() und off() zum Binden und Abbrechen von Ereignisverarbeitungsfunktionen. Diese beiden APIs haben viele Ähnlichkeiten mit den ursprünglich von JQuery bereitgestellten bind() und unbind(), weisen jedoch auch einige Unterschiede auf. Eine detaillierte Einführung zum Binden und Lösen finden Sie in diesem Artikel.

Die Funktionssignaturen von on() und bind() lauten wie folgt:


  1. bind(type, [data], fn)  
      
    on(type,[selector],[data],fn)

Sie können sehen, dass der Unterschied zwischen den beiden Funktionen darin besteht, ob der Selektorparameterwert unterstützt wird. Aufgrund der Event-Bubbling-Funktion von JavaScript wird, wenn wir einen Event-Handler für das übergeordnete Element registrieren, beim Auftreten des Ereignisses für das untergeordnete Element auch der Event-Handler für das übergeordnete Element ausgelöst. Wenn bei Verwendung von on den Selektor nicht festlegt, gibt es keinen Unterschied zwischen on und bind.

  1. <p id="parent">  
        <input type="button" value="a" id="a"/>  
        <input type="button" value="b" id="b"/>  
    </p>


Wenn wir bind() verwenden, um die Klickereignisverarbeitung an die übergeordnete Funktion zu binden, Wenn Sie auf die Schaltflächen a oder b klicken, wird die Ereignisverarbeitungsfunktion ausgeführt. Wenn wir auslösen möchten, wenn auf a geklickt wird, aber nicht, wenn auf b geklickt wird, können wir on verwenden. Der Code lautet wie folgt:


  1. $("#parent").on("click","#a",function(){  
        alert($(this).attr("id"));  
    });

Wie Sie sehen können: Der Parameterselektor der Funktion on() soll es dem übergeordneten Element ermöglichen, Ereignisse herauszufiltern, die auf untergeordneten Elementen auftreten, wenn Ereignisse in die Luft sprudeln. Wenn bind verwendet wird, gibt es keine solche Fähigkeit und Ereignisse, die auf dem untergeordneten Element auftreten, lösen definitiv das Ereignis des übergeordneten Elements aus.

Es ist noch ein weiterer Punkt zu beachten: Die an on gebundene Ereignisverarbeitungsfunktion kann auch für in der Zukunft hinzugefügte neue Elemente verwendet werden und hat die gleiche Wirkung wie „delegate“, bind jedoch nicht .

Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen jquery on bind. 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