zoukankan      html  css  js  c++  java
  • 事件注册 addEventListener attachEvent removeEventListener detachEvent

     
    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title>事件注册</title>
        </head>
        <body>
            <button id="btn" value="按钮">按钮</button>
            <script type="">
                window.onload = function(){
                    var btn = document.getElementById("btn");
                    
                    var handler = function(){
                        alert("thanks!");
                    }
                    //addEventListener(事件类型不要加“on”,事件发生时调用的函数,布尔值一般为false若为true函数将注册为捕获时间处理程序)
                    if (btn.addEventListener) {//ie8及之前版本外的所有浏览器支持的标准事件模型
                        btn.addEventListener("click", handler, false);
                    } else if(btn.attachEvent){//兼容ie9以下版本
                        btn.attachEvent("onclick", handler);//attachEvent(事件类型要加“on”,事件发生时调用的函数)
                    }else{
                        btn.onclick = handler;//普通注册事件
                    }
                    
                    //封装自己的 句柄事件 
                    var myUtilEvent = {
                        myAddHandler:function(element, eType, hanlder){//添加句柄
                            if(element.addEventListener){//ie8及之前版本外的所有浏览器支持的标准事件模型
                                element.addEventListener(eType, hanlder, false);
                            }else if(element.attachEvent){
                                element.attachEvent(eType, hanlder);//兼容ie9以下版本
                            }else{
                                element["on" + eType] = hanlder;
                            }
                        },
                        myRemoveHandler:function(element, eType, hanlder){//删除句柄
                            if(element.removeEventListener){
                                element.removeEventListener(eType, hanlder, false);
                            }else if(element.detachEvent){
                                element.detachEvent("on" + eType, hanlder);
                            }else{
                                element["on" + eType] = null;
                            }
                        }
                    }
                    
                    //封装后上面即可这样调用,跟上面的结果一样
                    myUtilEvent.myAddHandler(btn, 'click', handler);
                
                }
            </script>
        </body>
    </html>
  • 相关阅读:
    hdu 2492 树状数组 Ping pong
    HDU 1532 基础EK Drainage Ditches
    EK算法模板
    Codeforces Round #538 (Div. 2) (A-E题解)
    Codeforces Global Round 1 (A-E题解)
    Educational Codeforces Round 59 (Rated for Div. 2) DE题解
    Codeforces Round #535 (Div. 3) 题解
    Codeforces Round #534 (Div. 2) D. Game with modulo(取余性质+二分)
    POJ2253:Frogger(改造Dijkstra)
    POJ1797:Heavy Transportation(改造Dijkstra)
  • 原文地址:https://www.cnblogs.com/webgg/p/5314534.html
Copyright © 2011-2022 走看看