跨浏览器事件处理

dom0事件为直接在元素上写方法;
dom2事件是通过添加Listener方法来进行函数调用;

  var but = document.getElementById('but');
  function view() { alert("value"); }

    var eventUtil = { addHandler:function(element, type, handler) { if (element.addEventListener) { element.addEventListener(type, handler, false); }
            else if(element.attachEvent) { element.attachEvent('on'+type,handler); }
            else { element['on'+type] = handler;
//在JS中[]是可以替换.的
        }
        },
        removeHandler:function(element, type, handler) { if (element.removeEventListener) { element.removeEventListener(type, handler, false); }
            else if(element.detachEvent) { element.detachEvent('on'+type,handler); }
            else { element['on'+type] = null; 
        }
        }
    }
eventUtil.addHandler(but, 'click', view); 
    <input type="button" id="but" value="Hello"/>

封装了一个名为eventUtil的方法通过调用addHandler方法来实现跨浏览器事件方法;
在JS中[]是可以替换.的

知识点为:IE事件的监听需要添加‘on’关键字,火狐及chrome的事件监听不需要直接写click即可;

来都来了,留个言吧🙂