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

    DOM2级事件处理程序

    DOM2级事件定义了两个方法用于处理指定删除事件处理程序的操作:

    • addEventListener
    • removeEventListener
      所有的DOM节点都包含这两个方法,并且他们都接受三个参数:
      1.事件类型
      2.事件处理方法
      3.布尔参数,默认false
      (true捕获阶段调用事件处理方法;false冒泡阶段调用事件处理方法。)
    //addEventListener
    let box = document.querySelector('.box')
    box.addEventListener('click',function(){
      console.log('box clicked...')
    })
    
    
    function xxx(){console.log('box clicked...')}
    box.addEventListener('click',xxx)   //添加事件
    box.removeEventListener('click',xxx)   //删除事件
    

    简写的onclick和addEventListener区别

    box.onclick = function(){ console.log('1') }
    box.onclick = function(){ console.log('2') }   //会覆盖1
    
    box.addEventListener('click',function(){ console.log('1') })
    box.addEventListener('click',function(){ console.log('2') })  //不会覆盖
    

    IE7,8的绑定事件方法

    IE不支持addEventListener和removeEventListener方法
    实现了两个类似的方法:

    • attachEvent
    • detachEvent

    这两个方法都接受两个相同的参数。
    1.事件处理程序名称
    2.事件处理程序方法

    IE只支持事件冒泡
    let box = document.querySelector('.box')
    function xxx(){console.log('box clicked...')}
    box.attachEvent('onclick',xxx)
    

    兼容性

    attachEvent——兼容:IE7、IE8;不兼容firefox、chrome、IE9、IE10、IE11、safari、opera
    addEventListener——兼容:firefox、chrome、IE、safari、opera;不兼容IE7、IE8



    作者:阿鲁提尔
    链接:https://www.jianshu.com/p/4af0476a08c9
    来源:简书
    简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
  • 相关阅读:
    浮点数精度问题(2.01.1=0.8999999999)
    创建android的模拟器时屏幕的大小设置
    hdu 3038 How Many Answers Are Wrong(并查集)
    hdu 3635 Dragon Balls(并查集)
    hdu 1598 find the most comfortable road(并查集+暴力搜索)
    hdu 1671 Phone List (字典树)
    hdu 3047Zjnu Stadium(并查集)
    hdu 1247 Hat’s Words(字典树)
    后缀数组——处理字符串的有力工具
    hdu 2473 JunkMail Filter(并查集+虚拟节点)
  • 原文地址:https://www.cnblogs.com/xiaoshen666/p/11245904.html
Copyright © 2011-2022 走看看