JS---DOM---为元素绑定事件和解绑事件的兼容代码

2022-10-12,,,,

1. 绑定事件兼容

  function addeventlistener(element,type,fn) {
    if(element.addeventlistener){
      element.addeventlistener(type,fn,false);
    }else if(element.attachevent){
      element.attachevent("on"+type,fn);
    }else{
      element["on"+type]=fn;
    }
  }

 

2. 解绑事件的兼容

  function removeeventlistener(element,type,fnname) {
    if(element.removeeventlistener){
      element.removeeventlistener(type,fnname,false);
    }else if(element.detachevent){
      element.detachevent("on"+type,fnname);
    }else{
      element["on"+type]=null;
    }

 

测试解绑时间的兼容:

    //解绑事件的兼容
    //为任意的一个元素,解绑对应的事件
    function removeeventlistener(element, type, fnname) {
      if (element.removeeventlistener) {
        element.removeeventlistener(type, fnname, false);
      } else if (element.detachevent) {
        element.detachevent("on" + type, fnname);
      } else {
        element["on" + type] = null;
      }
    }

    function f1() {
      console.log("测试兼容第一个");
    }
    function f2() {
      console.log("测试兼容第二个");
    }

    addeventlistener(my$("btn1"), "click", f1);
    addeventlistener(my$("btn1"), "click", f2);
    my$("btn2").onclick = function () {
      removeeventlistener(my$("btn1"), "click", f1);
    };

 

 

 

《JS---DOM---为元素绑定事件和解绑事件的兼容代码.doc》

下载本文的Word格式文档,以方便收藏与打印。