Heim > Web-Frontend > js-Tutorial > JavaScript implementiert das browserübergreifende Hinzufügen und Löschen von Ereignisbindungsfunktionen. Beispiele_Javascript-Fähigkeiten

JavaScript implementiert das browserübergreifende Hinzufügen und Löschen von Ereignisbindungsfunktionen. Beispiele_Javascript-Fähigkeiten

WBOY
Freigeben: 2016-05-16 15:47:14
Original
1083 Leute haben es durchsucht

Das Beispiel in diesem Artikel beschreibt die JavaScript-Implementierung von browserübergreifenden Funktionen zum Hinzufügen und Löschen von Ereignisbindungen. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:

Die Ereignisbindungsfunktion von IE ist attachmentEvent; während Firefox und Safari beides unterstützen; Mit jQuery können Sie einfaches bind() oder Funktionen wie $().click() verwenden, um das Problem zu lösen. Wenn Sie kein JavaScript-Framework verwenden, können Sie die folgende gekapselte bind()-Funktion verwenden.

Ereignisbindung bind() hinzufügen

/************************************
* 添加事件绑定
* @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);
}

Nach dem Login kopieren

Fügen Sie beispielsweise ein Klickereignis zum Dokument hinzu:

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

Nach dem Login kopieren

Ereignisbindung löschen unbind()

unbind() für die obige bind()-Funktion

/************************************
* 删除事件绑定
* @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);
}

Nach dem Login kopieren

Löschen Sie beispielsweise das erste Klickereignis für gebundene Dokumente:

Code kopieren Der Code lautet wie folgt:
unbind(document,"click",fn);

Ich hoffe, dass dieser Artikel für das JavaScript-Programmierdesign aller hilfreich sein wird.

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 Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage