zoukankan      html  css  js  c++  java
  • attachEvent和addEventListener区别

    一般来说,可以直接封装成这种形式:

    var addEvent = function(element,type,handler){ 
                if(element.addEventListener){  //DOM2级
                    element.addEventListener(type,handler,false); //false为冒泡,true为捕获
                }else if(element.attachEvent){  //IE
                    element.attachEvent("on"+type,function(){  //默认皆为冒泡
                        handler.call(element);
                    });
                }else{ 
                    element["on"+type] = handler; //DOM0级
                }
            };

    addEventListener的使用方式:主要是DOM2级

    target.addEventListener(type, listener, useCapture);

    target就是要注册事件的对象

    type就是事件类型  比如“click"

    listener就是监听的函数

    useCapture就是是否使用捕获方式,false为冒泡,true为捕获

    attachEvent使用方式:主要是IE中使用

    target.attachEvent(type, listener);

    type是事件类型,注意是这种形式:”onclick"

    listener监听的函数

    默认使用冒泡的方式

    相应的,解除事件的方法:

    removeEventListener(event,function,useCapture);

    detachEvent(event,function);

    那它们有什么不同呢?

    举个例子:

    document.getElementByIdx("btn").onclick = method1;
    document.getElementByIdx("btn").onclick = method2;
    document.getElementByIdx("btn").onclick = method3;
    // 如果这样写,那么将会只有medhot3被执行
    
    // 写成这样:
    var btn1Obj = document.getElementByIdx("btn1"); //object.attachEvent(event,function);
    btn1Obj.attachEvent("onclick",method1);
    btn1Obj.attachEvent("onclick",method2);
    btn1Obj.attachEvent("onclick",method3);
    // 执行顺序为 method3->method2->method1
    
    // 如果是Mozilla系列,并不支持该方法,需要用到addEventListener var btn1Obj = document.getElementByIdx("btn1");
    //element.addEventListener(type,listener,useCapture);
    btn1Obj.addEventListener("click",method1,false);
    btn1Obj.addEventListener("click",method2,false);
    btn1Obj.addEventListener("click",method3,false);
    // 执行顺序为 method1->method2->method3
  • 相关阅读:
    Postgresql pg_dump 与 pg_restore 使用举例
    Postgresql pg_restore
    Postgresql pg_dump
    PostgreSQL 常用数据视图/字典
    PostgreSQL 数据目录结构
    Linux gdb分析core dump文件
    PostgreSQL 配置参数
    PostgreSQL 不要使用kill -9 杀 Postgresq 用户进程
    Postgresql 日志相关
    PostgreSQL 学习手册-模式Schema
  • 原文地址:https://www.cnblogs.com/imwtr/p/4411064.html
Copyright © 2011-2022 走看看