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
    来源:简书
    简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
  • 相关阅读:
    dotnet 控制台读写 Sqlite 提示 no such table 找不到文件
    dotnet 控制台读写 Sqlite 提示 no such table 找不到文件
    dotnet 控制台 Hangfire 后台定时任务
    dotnet 控制台 Hangfire 后台定时任务
    dotnet 获取指定进程的输入命令行
    dotnet 获取指定进程的输入命令行
    PHP sqrt() 函数
    PHP sinh() 函数
    PHP sin() 函数
    PHP round() 函数
  • 原文地址:https://www.cnblogs.com/xiaoshen666/p/11245904.html
Copyright © 2011-2022 走看看