zoukankan      html  css  js  c++  java
  • 跨浏览器事件处理程序

     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"/>
  • 相关阅读:
    无参考数据集
    dropout层
    postgresql查询表的大小
    vue 消息订阅与发布
    echarts实现pie自定义标签
    elementUI 时间线居左显示
    css+div实现各种常见边框
    css实现中括号边框
    div中多行内容垂直居中显示
    vue 实现组件全屏展示及退出
  • 原文地址:https://www.cnblogs.com/dzxczx/p/5459631.html
Copyright © 2011-2022 走看看