• 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
    来源:简书
    简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
  • 相关阅读:
    Sqlite判断字段存在
    JS实现返回上一页面并刷新(转)
    WebService上传文件到服务器(转)
    ASP.NET中的DES加密解密,可用于URL传参(转)
    my97日期控件网址
    window.open用法详解(转)
    repeater绑定后alter不能弹出的解决办法(转)
    SQL Server之其他函数——类型转换函数(convert用法)(转)
    asp.net 无刷新分页时无法弹出alert对话框的解决方法 (转)
    UVa
  • 原文地址:https://www.cnblogs.com/xiaoshen666/p/11245904.html
Copyright © 2020-2023  润新知