DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> 關於JavaScript >> JavaScript實現跨浏覽器的添加及刪除事件綁定函數實例
JavaScript實現跨浏覽器的添加及刪除事件綁定函數實例
編輯:關於JavaScript     

本文實例講述了JavaScript實現跨浏覽器的添加及刪除事件綁定函數。分享給大家供大家參考。具體如下:

IE 的事件綁定函數是 attachEvent;而 Firefox, Safari 是 addEventListener;Opera 則兩種都支持。使用jQuery就可以使用簡單的bind(),或者$().click()之類的函數解決,而如果不使用JavaScript框架的時候,大家可是使用下面的封裝bind()函數。

添加事件綁定 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);
}

例如給document添加一個點擊事件:

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

刪除事件綁定 unbind()

unbind()對於上面的bind()函數

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

例如刪除第一個綁定的document點擊事件:
復制代碼 代碼如下:unbind(document,"click",fn);

希望本文所述對大家的javascript程序設計有所幫助。

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved