码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2017-03-22 00:05:19      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:att   eve   util   move   remove   function   dev   hand   布尔   

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

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

标签:att   eve   util   move   remove   function   dev   hand   布尔   

原文地址:http://www.cnblogs.com/qianduangaoshou/p/6597353.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!