兼容各浏览器的通用JS事件处理程序

摘抄了书上的一个通用事件处理程序,以便在IE,Chrome, FireFox, Opera, Safari 中都可以添加、移除事件。保证各个浏览器的兼容性。

以下代码构建了一个EventUtil对象,通过EventUtil.addHandler(arg1,arg2,arg3);实现添加事件,通过EventUtil.removeHandler(arg1,arg2,arg3);实现移除事件。

//兼容各浏览器的通用事件处理对象
var EventUtil= {
    addHandler:function(element, type, handler){
        if(element.addEventListener){
            //Firefox, Chrome, Safari, Opera
            element.addEventListener(type , handler, false);
        }else if (element.attachEvent){
            //IE, Opera
            element.attachEvent("on"+type, handler);
        } else {
            //default
            element["on"+type] = handler;
        }
    },
    removeHandler: function(element, type, handler){
        if (element.removeEventListener){
            element.removeEventListener(type, handler, false);
        } else if (element.detachEvent){
            element.deatchEvent("on"+type, handler);
        } else {
            element["on"+type] = null;
        }
    }
}

//EventUtil.addHandler( element, "mouseup", function);

 

Leave a Reply

电子邮件地址不会被公开。 必填项已用*标注

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>