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

Posted hello world

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了处理跨浏览器的事件处理程序相关的知识,希望对你有一定的参考价值。

事件:事件是用户或浏览器自身执行的某些动作,例如 : 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();

以上是关于处理跨浏览器的事件处理程序的主要内容,如果未能解决你的问题,请参考以下文章

如何写一个跨浏览器的事件处理程序 js

跨浏览器的事件处理程序

Event Handler 事件处理程序 2 ---跨浏览器事件对象《高程3》

跨浏览器之事件处理程序

跨浏览器的事件对象-------EventUtil 中的方法及用法

javaScript跨浏览器事件处理封装代码