美文网首页
跨浏览器事件处理程序

跨浏览器事件处理程序

作者: 佐為你快回來 | 来源:发表于2019-10-08 09:21 被阅读0次

    html部分

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title>跨浏览器事件处理程序</title>
        </head>
        <body>
            <button id="myBtn">点击我</button>
        </body>
    </html>
    

    js部分

    绑定事件

    Chrome Firefox IE9等 addEventListener
    IE8及IE8以下的浏览器 attachEvent

    移除事件

    Chrome Firefox IE9等 removeEventListener
    IE8及IE8以下的浏览器 detachEvent

    var EventUtil = {
        addHandler:function(element,type,handler){// 添加事件处理程序
            //绑定事件
            //Chrome Firefox IE9等     addEventListener 
            //IE8及IE8以下的浏览器     attachEvent 
            if(element.addEventListener){// DOM2级事件处理程序
                element.addEventListener(type,handler,false);
            }else if (element.attachEvent) {// IE事件处理程序
                element.attachEvent("on"+ type,handler);
            } else{// DOM0级事件处理程序,事件流冒泡
                element["on"+type] = handler 
            }
        },
        removeHandler: function(element,type,handler){// 移除事件处理程序
            //移除事件
            //Chrome Firefox IE9等      
            //IE8及IE8以下的浏览器     
            if(element.removeEventListener){// DOM2级事件处理程序
                element.removeEventListener(type,handler,false);
            }else if (element.detachEvent) {// IE事件处理程序
                element.detachEvent("on"+type,handler);
            } else{ //DOM0级事件处理程序
                element["on"+type] = handler
            }
        }
    }
    
    测试
    var btn = document.getElementById("myBtn");
        var handler = function(){
            alert("Clicked");
        }
        EventUtil.addHandler(btn,"click",handler);
      //EventUtil.removeHandler(btn,"click",handler);
    

    相关文章

      网友评论

          本文标题:跨浏览器事件处理程序

          本文链接:https://www.haomeiwen.com/subject/vpwvpctx.html