詳解javascript跨瀏覽器事件處理常式,詳解javascript

來源:互聯網
上載者:User

詳解javascript跨瀏覽器事件處理常式,詳解javascript

本文為大家分享了javascript跨瀏覽器事件處理機制,供大家參考,具體內容如下

<!doctype html><html lang="en"><head>  <meta charset="UTF-8">  <title>跨瀏覽器的事件處理常式</title></head><body>  <input type="button" value="click me" id="myBtn"/>  <input type="button" value="解除" id="unlisten"/>   <script>     function $(id){      return document.getElementById(id);    }     var EventUtil={      fnCount:0      ,fnData:{}      ,addHandler:function(element,type,handler){        this.fnCount++;        handler.fid = this.fnCount;        var _fn = handler;        handler = function(){          _fn.call(element);        };        this.fnData[this.fnCount] = handler;         if(element.addEventListener){          element.addEventListener(type,handler,false);        }  else if(element.attachEvent){          element.attachEvent("on"+type,handler);        }  else {          element["on"+type]=handler;        }      }      ,removeHandler:function(element,type,handler){        handler = this.fnData[handler.fid];        if(element.removeEventListener){            element.removeEventListener(type,handler,false);        }else if(element.detachEvent){            element.detachEvent("on"+type,handler);        }else{            element["on"+type]=null;        }      }    }     var btn=$("myBtn");    var unbtn = $('unlisten');    var bindFn1=function(){      alert(this.id);    };    var bindFn2=function(){      alert('2');    };     EventUtil.addHandler(btn,"click",bindFn1);    EventUtil.addHandler(btn,"click",bindFn2);    //EventUtil.removeHandler(btn,"click",bindFn1);    EventUtil.addHandler(unbtn,"click",function(){      EventUtil.removeHandler(btn,"click",bindFn1);    });    </script></body></html>

以上就是本文的全部內容,希望對大家的學習有所協助。

您可能感興趣的文章:
  • 開發跨瀏覽器的JavaScript方法說明
  • 編寫跨瀏覽器的javascript代碼必備[js多瀏覽器安全色寫法]
  • 開發跨瀏覽器javascript常見注意事項
  • javascript Range對象跨瀏覽器常用操作
  • javascript Array.sort() 跨瀏覽器下需要考慮的問題
  • js監聽表單value的修改同步問題,跨瀏覽器支援
  • 跨瀏覽器通用、可重用的選項卡tab切換js代碼

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.