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
    来源:简书
    简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
  • 相关阅读:
    vue关于样式的绑定
    vue插口
    vue组件 父子 通讯
    vue实现翻页功能加高阶函数加购物车
    MySQL 索引面试总结
    phpstorm配置git并解决Terminal 中文乱码(Unicode 编码)的方法
    php 下载图片并打包成Zip格式压缩包
    MySQL5.6升级到5.7详细教程
    windows下安装vue教程
    一致性hash算法详解
  • 原文地址:https://www.cnblogs.com/xiaoshen666/p/11245904.html
Copyright © 2011-2022 走看看