zoukankan      html  css  js  c++  java
  • attachEvent(a)、detachEvent(b)和addEventListener(c)、removeEventListener(d)的区别和使用注意

    1、使用d移除c时(只能通过d来移除),c的第二个参数不能是匿名函数

    如:btn.addEventListener('click',function(){},false),是不能被移除的。

      btn.addEventListener('click',handler,false)可以通过btn.removeEventListener('click',handler,false)移除,参数3如果是false可以省略,true要保存一致

      a也要b来移除,参数也要一样

      DOM0级,直接用btn.onclick = null; 来移除

    2、c和d中,参数3代表捕获阶段,true事件捕获(captrue),false事件冒泡(bubbling)。 a、b不用,因为都是冒泡,所以只要两个参数

    3、a、b参数1 onclick,c、d参数1 click

    4、a、b中的函数运行环境是window,this指向window(event.srcElement指向当前对象)。c、d包括DOM0都是所属元素的作用域中。

    5、a、b中添加多个事件,执行顺序是后添加先执行,c、d是先添加先执行,DOM0不支持多事件。

    6、阻止默认事件a设置returnValue属性,(window.event.returnValue=false)。c用event.preventDefault()方法

    a、b在IE11中也不被支持,另外也可以直接在HTML中添加事件,JS和HTML耦合太强,基本被舍弃了

  • 相关阅读:
    Markdown学习笔记
    Go 学习笔记(一)
    case中定义变量
    <转>MySql 与Oracle区别
    Java 时间转换问题总结
    线程之间共享
    并发编程快速入门
    redis主从复制
    jedis操作redis
    redis持久化方案
  • 原文地址:https://www.cnblogs.com/dddbj/p/5780566.html
Copyright © 2011-2022 走看看