1

跨浏览器的事件处理程序

注意两点:

  • 视情况分别使用DOM0级方法、DOM2级方法或者IE方法来添加事件

  • 老版本浏览器不支持事件捕获,并且很少有机会使用事件捕获,因此可以只关注事件冒泡

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
        }
    },
    
    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
        }
    }
}

jhhfft
590 声望40 粉丝

Write the Code. Change the World.