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
    来源:简书
    简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
  • 相关阅读:
    团队项目-第一阶段冲刺-5
    用户场景分析
    第九周总结
    团队项目-第一阶段冲刺-3
    团队项目-第一阶段冲刺-2
    团队项目-第一阶段冲刺-1
    个人工作任务认领
    实验一:个人博客
    MFC onpaint() ondraw()
    MFC 虚函数与消息映射区别
  • 原文地址:https://www.cnblogs.com/xiaoshen666/p/11245904.html
Copyright © 2011-2022 走看看