Maison  >  Article  >  interface Web  >  Exemples détaillés d'utilisation de la fonction jQuery.die()

Exemples détaillés d'utilisation de la fonction jQuery.die()

巴扎黑
巴扎黑original
2017-06-30 14:00:031441parcourir

La fonction

die() est utilisée pour supprimer la fonction de gestion des événements d'un ou plusieurs événements liés à l'élément correspondant.

La fonction die() est principalement utilisée pour débloquer la fonction de traitement d'événements liée par la fonction live().

Cette fonction appartient à l'objet (instance) jQuery.

Syntaxe

Cette fonction a été ajoutée dans jQuery 1.3. Elle a été marquée comme obsolète à partir de jQuery 1.7 et a été supprimée dans jQuery 1.9. Il a principalement les deux formes d'utilisation suivantes :

Utilisation 1 : jQuery 1.4.1 prend désormais en charge le fait de ne spécifier aucun paramètre.

jQueryObject.die( [ events [, handler ]] )

Supprimez le gestionnaire de fonction du gestionnaire d'événements lié à l'événement events de l'élément correspondant au sélecteur actuel.

Utilisation 2 : jQuery 1.4.3 prend désormais en charge cette utilisation.

jQueryObject.die( eventsMap )

Variation de l'utilisation 1, utilisée pour supprimer plusieurs gestionnaires d'événements de plusieurs types d'événements en même temps. eventsMap est un objet, chaque attribut est appliqué aux événements de paramètre dans la méthode 1 et la valeur est appliquée au gestionnaire de paramètres dans la méthode 1.

Paramètres

Description du paramètre

événements Facultatif/Type de chaîne Un ou plusieurs types d'événements séparés par des espaces et un espace de noms facultatif, Par exemple "clic", "Clic de mise au point", "keydown.myPlugin".

gestionnaire facultatif/fonction de gestion d'événements spécifiée par type de fonction. Le type

eventsMap Classe d'objet est un objet Objet , chacun de ses attributs correspond au type d'événement et à l'espace de noms facultatif (événements de paramètres), et la valeur de l'attribut correspond à la fonction de gestion des événements liée (gestionnaire de paramètres).

namespace L'espace de noms spécifié par le type String, tel que ".foo", ".myPlugin".

Si le gestionnaire de paramètres est omis, tous les gestionnaires d'événements liés aux événements du type spécifié correspondant à l'élément sont supprimés.

Le sélecteur de l'objet jQuery actuel appelant la fonction die() doit être cohérent avec le sélecteur de l'objet jQuery appelant la fonction live().

Si tous les arguments sont omis, supprime tous les gestionnaires d'événements sur l'élément correspondant pour tout type d'événement lié à n'importe quel élément.

Valeur de retour

die()La valeur de retour de la fonction est de type jQuery et renvoie l'objet jQuery actuel lui-même.

En fait, les paramètres de la fonction die() sont tous des conditions de filtrage, et seules les fonctions de gestion d'événements qui correspondent à toutes les conditions des paramètres seront supprimées. Plus il y a de paramètres, plus il y a de qualifications et plus la plage supprimée est petite.

Exemple et description

Veuillez vous référer au code HTML initial suivant :

<input id="btn1" type="button" value="点击1" />
<input id="btn2" type="button" value="点击2" />
<a id="a1" href="#">CodePlayer</a>

Tout d'abord, nous lions les événements au bouton ci-dessus et aux éléments 3499910bf9dac5ae3c52d5ede7383485 puis utilisez la fonction die() pour dissocier l'événement. Le code correspondant est le suivant :

function btnClick1(){
    alert( this.value + "-1" );
}
function btnClick2(){
    alert( this.value + "-2" );
}
var $buttons = $(":button");
// 为所有button元素的click事件绑定事件处理函数btnClick1
$buttons.live( "click", btnClick1 );
// 为所有button元素的click事件绑定事件处理函数btnClick2
$buttons.live( "click", btnClick2 );
// 为所有a元素绑定click、mouseover、mouseleave事件
$("a").live( "click mouseover mouseleave", function(event){
    if( event.type == "click" ){
        alert("点击事件");
    }else if( event.type == "mouseover" ){
        $(this).css("color", "red");
    }else{
        $(this).css("color", "blue");       
    }
});
// 移除所有button元素的click事件绑定的事件处理函数btnClick2
// 点击按钮,只执行btnClick1
$buttons.die( "click", btnClick2 );
// 移除所有button元素的click事件绑定的所有事件处理函数(btnClick1和btnClick2)
// 点击按钮,不会执行任何事件处理函数
// $buttons.die("click");
//注意: $("#btn1").die("click"); 无法移除btn1的点击事件,调用die()函数的jQuery对象的选择器与调用live()函数的jQuery对象的选择器必须一致。
// 移除所有a元素的任何事件绑定的所有处理函数
// $("a").die( );

De plus, la fonction die() peut également supprimer uniquement la liaison d'événement de l'espace de noms spécifié.

var $buttons = $(":button");
// 为所有button元素的click事件绑定事件处理函数
$buttons.live( "click.foo.bar", function btnClick1(){
    alert( "click-1" );
} );
// 为所有button元素的click事件绑定事件处理函数
$buttons.live( "click.test.bar", function btnClick1(){
    alert( "click-2" );
} );
// 移除包含命名空间foo的click事件绑定的事件处理函数
$buttons.die( "click.foo" ); // 移除click-1
//移除包含命名空间bar的click事件绑定的事件处理函数
// $buttons.die( "click.bar" ); // 移除click-1和click-2
//移除包含命名空间test的click事件绑定的事件处理函数
// $buttons.die( "click.test" ); // 移除click-2
// 移除所有button元素的click事件绑定的所有事件处理函数
// $buttons.die("click"); // 移除click-1和click-2

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn