Maison > interface Web > js tutoriel > JavaScript implémente l'ajout et la suppression de fonctions de liaison d'événements entre navigateurs examples_javascript skills

JavaScript implémente l'ajout et la suppression de fonctions de liaison d'événements entre navigateurs examples_javascript skills

WBOY
Libérer: 2016-05-16 15:47:14
original
1065 Les gens l'ont consulté

L'exemple de cet article décrit l'implémentation JavaScript de fonctions d'ajout et de suppression d'événements entre navigateurs. Partagez-le avec tout le monde pour votre référence. Les détails sont les suivants :

La fonction de liaison d'événements d'IE est attachEvent ; tandis que Firefox et Safari sont addEventListener ; Opera prend en charge les deux. En utilisant jQuery, vous pouvez utiliser un simple bind() ou des fonctions telles que $().click() pour résoudre le problème. Si vous n'utilisez pas de framework JavaScript, vous pouvez utiliser la fonction bind() encapsulée suivante.

Ajouter une liaison d'événement bind()

/************************************
* 添加事件绑定
* @param obj  : 要绑定事件的元素
* @param type : 事件名称。不加 "on". 如 : "click" 而不是 "onclick".
* @param fn  : 事件处理函数
************************************/
function bind( obj, type, fn ){
  if( obj.attachEvent){
    obj['e'+type+fn]= fn;
    obj[type+fn]=function(){
     obj['e'+type+fn]( window.event);
    }
    obj.attachEvent('on'+type, obj[type+fn]);
  }else
    obj.addEventListener( type, fn,false);
}

Copier après la connexion

Par exemple, ajoutez un événement de clic au document :

var fn=function(){
  alert("Hello, World!!");
};
bind(document,"click", fn);

Copier après la connexion

Supprimer la liaison d'événement unbind()

unbind() pour la fonction bind() ci-dessus

/************************************
* 删除事件绑定
* @param obj : 要删除事件的元素
* @param type : 事件名称。不加 "on". 如 : "click" 而不是 "onclick"
* @param fn : 事件处理函数
************************************/
function unbind( obj, type, fn ){
  if( obj.detachEvent){
    obj.detachEvent('on'+type, obj[type+fn]);
    obj[type+fn]=null;
  }else
    obj.removeEventListener( type, fn,false);
}

Copier après la connexion

Par exemple, supprimez le premier événement de clic sur un document lié :

Copier le code Le code est le suivant :
unbind(document,"click",fn);

J'espère que cet article sera utile à la conception de la programmation JavaScript de chacun.

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal