zoukankan      html  css  js  c++  java
  • 事件处理程序(addEventListener 和 attachEvent)

    1.addEventListener 和 removeEventListener 

    接收三个参数:要处理的事件名、作为事件处理程序的函数和布尔值

    缺点:不兼容IE

    <body>
        <input type="button" value="按钮3" id="btn3">
    </body>
    <script type="text/javascript">
        function showMes(event){
            alert(event.type);
        }
        var btn3 = document.getElementById('btn3');
        btn3.addEventListener('click',showMes,false);
        btn3.addEventListener('click',function(){
            alert(this.value);
        },false);
        btn3.removeEventListener('click',showMes,false);
        
    </script>

    2.attachEvent和detachEvent

    接收两个参数:事件处理程序的名称和事件处理程序的函数

    btn3.attachEvent('onclick',showMes);

    然而,我们不能光为了chrome等浏览器只用addEventListener,或者光为了IE只用attachEvent,故而要将其融合起来用

    <!doctype html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>无标题文档</title>
    </head>
    <body>
        <input type="button" value="按钮3" id="btn3">
    </body>
    <script type="text/javascript">
        function showMes(event){
            alert(event.type);
        }
        var btn3 = document.getElementById('btn3');
        var eventUtil = {
            addHandler:function(element,type,handler){
                if(element.addEventListener){
                    element.addEventListener(type,handler,false);
                }
                else if(element.attachEvent){
                    element.attachEvent('on'+type,handler);
                }
                else{
                    element['on'+type] = handler;
                }
            },
            removeHandler:function(element,type,handler){
                if(element.removeEventListener){
                    element.removeEventListener(type,handler,false);
                }
                else if(element.detachEvent){
                    element.detachEvent('on'+type,handler);
                }
                else{
                    element['on'+type] = null;
                }
    
            }
    
        }
        eventUtil.addHandler(btn3,'click',showMes);
    </script>
    </html>
  • 相关阅读:
    adb命令(一)
    appium-DesiredCapability详解与实战
    Appium-appium日志分析
    Appium-关于appium的原生控件的 xpath 定位问题及常用方法
    Appium-xpath详解
    appium界面元素介绍
    Python3.5.1 下使用HTMLParser报错
    Python3 将configparser从ini文件中读取的内容转换成字典格式
    Django forms 关于select和checkbox设置初始选中值
    Django admin注册model究竟要怎么写才优雅
  • 原文地址:https://www.cnblogs.com/wanliyuan/p/3914996.html
Copyright © 2011-2022 走看看