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

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);
    };

 

 

 

posted @ 2019-12-10 15:59  jane_panyiyun  阅读(339)  评论(0编辑  收藏  举报