Die Funktion
off() wird verwendet, um die Funktion Ereignisbehandlung eines oder mehrerer an ein Element gebundener Ereignisse zu entfernen. Die Funktion
off() wird hauptsächlich zum Entsperren der durch die Funktion on() gebundenen Ereignisverarbeitungsfunktion verwendet.
Diese Funktion gehört zum jQuery-Objekt (Instanz).
Syntax
Diese Funktion wurde in jQuery 1.7 hinzugefügt. Es gibt hauptsächlich die folgenden zwei Verwendungsformen:
Verwendung eins:
jQueryObject.off( [ events [, selector ] [, handler ] ] )
Verwendung zwei:
jQueryObject.off( eventsMap [, selector ] )
Parameter
Parameterbeschreibung
events Optional/String-Typ Ein oder mehrere durch Leerzeichen getrennte Ereignistypen und optionaler Namespace, wie „click“, „focus click“, „keydown.myPlugin“.
eventsMap-Objekttyp ist ein Objektobjekt, jedes seiner Attribute entspricht dem Ereignistyp und dem optionalen Namespace (Parameterereignisse) und der Attributwert entspricht der gebundenen Ereignisverarbeitungsfunktion (Parameter). Behandler).
selector Optional/String-Typ Ein jQuery-Selektor, der verwendet wird, um anzugeben, welche untergeordneten Elemente gebundene Ereignisse auslösen können. Wenn dieser Parameter null ist oder weggelassen wird, bedeutet dies, dass das aktuelle Element selbst an das Ereignis gebunden ist (der eigentliche Auslöser kann auch ein untergeordnetes Element sein, solange der Ereignisstrom das aktuelle Element erreichen kann).
Handler optional/Ereignisbehandlungsfunktion, angegeben durch Funktionstyp. Die Funktion
off() entfernt den Event-Handler des Events-Ereignisses, das an den Nachkommenelementselektor des aktuell übereinstimmenden Elements gebunden ist.
Wenn der Selektorparameter weggelassen wird, wird der an ein beliebiges Element gebundene Ereignishandler entfernt.
Der Parameterselektor muss mit dem Selektor übereinstimmen, der beim Hinzufügen der Bindung über die Funktion on() übergeben wird.
Wenn der Parameter-Handler weggelassen wird, werden alle an den angegebenen Ereignistyp des angegebenen Elements gebundenen Ereignishandler entfernt.
Wenn alle Parameter weggelassen werden, bedeutet dies, dass alle Event-Handler aller Event-Typen entfernt werden, die an ein beliebiges Element des aktuellen Elements gebunden sind.
Rückgabewert
off()Der Rückgabewert der Funktion ist vom Typ jQuery und gibt das aktuelle jQuery-Objekt selbst zurück.
Tatsächlich handelt es sich bei den Parametern der Funktion off() um Filterbedingungen. Nur Ereignisbehandlungsfunktionen, die allen Parameterbedingungen entsprechen, werden entfernt. Je mehr Parameter vorhanden sind, desto mehr Qualifikationen sind vorhanden und desto kleiner ist der Bereich, der entfernt wird.
Beispiel und BeschreibungBitte beachten Sie den folgenden anfänglichen HTML-Code: Zuerst binden wir Ereignisse an die oben genannten Schaltflächen und -Elemente und verwenden dann die Funktion off(), um die Bindung des Ereignisses aufzuheben:function btnClick1(){ alert( this.value + "-1" ); } function btnClick2(){ alert( this.value + "-2" ); } var $body = $("body"); // 为所有button元素的click事件绑定事件处理函数btnClick1 $body.on("click", ":button", btnClick1 ); // 为所有button元素的click事件绑定事件处理函数btnClick2 $body.on("click", ":button", btnClick2 ); //为所有a元素绑定click、mouseover、mouseleave事件 $body.on("click mouseover mouseleave", "a", function(event){ if( event.type == "click" ){ alert("点击事件"); }else if( event.type == "mouseover" ){ $(this).css("color", "red"); }else{ $(this).css("color", "blue"); } }); // 移除body元素为所有button元素的click事件绑定的事件处理函数btnClick2 // 点击按钮,btnClick1照样执行 $body.off("click", ":button", btnClick2); // 移除body元素为所有button元素的click事件绑定的所有事件处理函数(btnClick1和btnClick2) // 点击按钮,不会执行任何事件处理函数 // $body.off("click", ":button"); // 注意: $body.off("click", "#btn1"); 无法移除btn1的点击事件,off()函数指定的选择器必须与on()函数传入的选择器一致。 // 移除body元素为所有元素(包括button和<a>元素)的click事件绑定的所有处理函数 // 点击按钮或链接,都不会触发执行任何事件处理函数 // $("body").off("click"); // 移除body元素为所有元素的任何事件绑定的所有处理函数 // 点击按钮,或点击链接或者鼠标移入/移出链接,都不会触发执行任何事件处理函数 // $("body").off( );
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Verwendung der jQuery.off()-Funktion. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!