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

跨浏览器事件处理程序

时间:2016-05-04 21:13:02      阅读:148      评论:0      收藏:0      [点我收藏+]

标签:

 window.onload = function(){
            var Event = {
                addHandler : function(element,type,handler){
                    if(element.addEventListener){
                        element.addEventListener(type,handler,false);//DOM2级方法 三个参数 事件名称 事件处理程序函数 最后一个布尔值参数如果为true表示在捕获阶段调用事件处理处理程序 如果是false表示在冒泡阶段调用事件处理程序 默认为false
                    }else if(element.attachEvent(type,handler)){//attachEvent是IE中的方法
                        element.attachEvent(‘on‘+type,handler);//接受两个参数 并且事件名称需要加‘on‘ onclick
                    }else{
                        element[‘on‘+type] = handler;//DOM0级
                    }
                },
                removeHandler : function(element,type,handler){
                    if(element.removeEventListener(type,handler,false)){//移除的时候 所有参数必须 与创建的一致 否则无法删除 如果handler是个匿名函数 无法删除。
                        element.removeEventListener(type,handler,false);
                    }else if(element.detachEvent(‘on‘+type,handler)){
                        element.detachEvent(‘on‘+type,handler)
                    }else{
                        element[‘on‘+type] = null;
                    }
                }
            }
            function al(){
                alert(‘按钮被单击了‘);
            }
            var oBtn = document.getElementById(‘btn‘);
            Event.addHandler(oBtn,‘click‘,al);
        }
<input type="button" value="按钮" id="btn"/>

 

跨浏览器事件处理程序

标签:

原文地址:http://www.cnblogs.com/dzxczx/p/5459631.html

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