jquery off()-Methode

巴扎黑
Freigeben: 2017-06-25 10:51:20
Original
3669 Leute haben es durchsucht

Die Funktion

off()wird verwendet, umein oder mehrere an ein Element gebundene EreignisseEreignisbehandlungsfunktionzu entfernen. Die Funktion

wird hauptsächlich zum Entsperren der durch die Funktion on() gebundenen Ereignisverarbeitungsfunktion verwendet.off()

Diese Funktion gehört zum

-Objekt (Instanz).jQuery

Syntax

jQuery

1.7 Diese Funktion wurde hinzugefügt. Es gibt hauptsächlich die folgenden zwei Verwendungsformen:

Verwendung eins:

jQueryObject.off( [ events [, selector ] [, handler ] ] )
Nach dem Login kopieren

Verwendung zwei:

jQueryObject.off( eventsMap [, selector ] )
Nach dem Login kopieren
Parameter

Parameter Beschreibung
Ereignisse Optional/String Geben Sie einen oder mehrere Ereignistypen ein, getrennt durch Leerzeichen und optionalNamespace
参数 描述
events 可选/String类型一个或多个用空格分隔的事件类型和可选的命名空间,例如"click"、"focus click"、"keydown.myPlugin"。
eventsMap Object类型一个Object对象,其每个属性对应事件类型和可选的命名空间(参数events),属性值对应绑定的事件处理函数(参数handler)。
selector 可选/String类型一个jQuery选择器,用于指定哪些后代元素可以触发绑定的事件。如果该参数为null或被省略,则表示当前元素自身绑定事件(实际触发者也可能是后代元素,只要事件流能到达当前元素即可)。
handler 可选/Function类型指定的事件处理函数。
, wie „click“, „focus click“, „keydown.myPlugin“.

eventsMap off()Objekttyp einsObjektobjektselector, jedes seiner Attribute entspricht dem Ereignistyp und dem optionalen Namespace (Parameterevents) und der Attributwert entspricht der gebundenen Ereignisverarbeitungsfunktion (Parameterhandler) .

Selektor

Optional/String-Typ Ein jQuery-Selektor, der verwendet wird, um anzugeben, welche untergeordneten Elemente gebundene Ereignisse auslösen können. Wenn dieser Parameternullist 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). .selector

handler

Optionale/Ereignisbehandlungsfunktion, angegeben durch den Funktionstyp. Die Funktion

selector

entfernt den Ereignishandler des Ereignisses

, das an das Nachkommenelementhandlerdes aktuellen Abgleichs gebunden ist Element Funktion

.

Wenn der Parameter

weggelassen wird, werden an ein beliebiges Element gebundene Ereignishandler entfernt.

Der Parameteroff()muss mit dem übergebenen Selektor übereinstimmen, wenn eine Bindung über die Funktion on() hinzugefügt wird.Wenn der Parameterweggelassen wird, werden alle an den angegebenen Ereignistyp des angegebenen Elements gebundenen Event-Handler 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.

off()Rückgabewert

Der Rückgabewert der Funktion

ist vom

jQuery-Typ und gibt das aktuelle jQuery-Objekt selbst zurück.

 id="btn1" type="button" value="点击1" />
id="btn2" type="button" value="点击2" />
id="a1" href="#">CodePlayer
Nach dem Login kopieren

Tatsächlich sind die Parameter deroff()

-Funktion
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和元素)的click事件绑定的所有处理函数
// 点击按钮或链接,都不会触发执行任何事件处理函数
// $("body").off("click");


// 移除body元素为所有元素的任何事件绑定的所有处理函数
// 点击按钮,或点击链接或者鼠标移入/移出链接,都不会触发执行任何事件处理函数
// $("body").off( );
Nach dem Login kopieren
nur Filterbedingungen, die alle Parameterbedingungen erfüllen. Je mehr Parameter vorhanden sind, desto mehr Qualifikationen sind vorhanden und desto kleiner ist der Bereich, der entfernt wird.

Beispiel und Beschreibung

off()Bitte beziehen Sie sich auf den folgenden anfänglichen HTML-Code:

var $btn1 = $("#btn1");

$btn1.on("click.foo.bar", function(event){
alert("click-1");
});
$btn1.on("click.test", function(event){
alert("click-2");
});
$btn1.on("click.test.foo", function(event){
alert("click-3");
});

$btn1.off("click.test"); // 移除click-2、click-3

// $btn1.off("click.foo"); // 移除click-1、click-3

// $btn1.off("click.foo.bar"); // 移除click-1

// $btn1.off("click"); // 移除所有click事件处理函数(click-1、click-2、click-3)

// $btn1.off(".foo"); // 移除所有包含命名空间foo的事件处理函数,不仅仅是click事件
Nach dem Login kopieren
Zuerst binden wir Ereignisse an die obige Schaltfläche und
Verwenden Sie dann die Funktion , um die Bindung des Ereignisses aufzuheben. Der entsprechende Code lautet wie folgt: Führen Sie den Code aus (bitte kopieren Sie andere Codes zur Ausführung auf die Demoseite) In Darüber hinaus kann auch die Funktion verwendet werden. Entfernt nur Ereignisbindungen aus dem angegebenen Namespace.

Das obige ist der detaillierte Inhalt vonjquery off()-Methode. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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 Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!