首页 > 代码库 > 处理跨浏览器的事件处理程序

处理跨浏览器的事件处理程序

事件:事件是用户或浏览器自身执行的某些动作,例如 : click   load   mouseover

事件处理程序:用于响应某个事件的函数

在不同的浏览器,DOM中,事件处理程序是响应某个事件的函数

DOM0:中事件处理函数  event:onclick=function              删除程序:event:onclick=null;

DOM 2:addEventListener()            removeEventListener();

他们都接受三个参数,要处理的事件名,作为事件处理程序的函数, 一个布尔值 true表示在捕获阶段调用事件处理程序,如果是false,表示在冒泡阶段调用事件处理程序

IE事件处理函数程序:attachEvent() detachEvent();都接受两个参数,事件处理程序名称和事件处理函数

 

 

要解决跨浏览器的事件处理程序:代码如下:

var EventUtil={
            addHandler:function(element,type,hander){
                if(element.addEventListener){
                    element.addEventListener(type,hander,false);
                }else if(element,attachEvent){
                    element.attachEvent("on"+type,hander);
                }else{
                    element["on"+type]=hander;
                }
            },
            removeHandler:function(element,type,hander){
                if(element.removeEventListener){
                    element.removeEventListener(type,hander,false);
                }else if(element.detachEvent){
                    element.detachEvent("on"+type,hander);
                }else {
                    element["on"+type]=null;
                }
            }
        }

  

调用时 EventUntil.addhander();

处理跨浏览器的事件处理程序