JavaScript面试题-绑定事件的方式?如何删除事件?

事件绑定

通过 .on 的方式绑定事件,一种事件只能绑定一次,绑定多个相同事件,后面的事件会覆盖前面的事件。

通过 addeventListener() 的方式绑定事件,该方式可以给一个元素绑定多个相同事件,该方法 IE8 不支持。

  • target.addEventListener(type, listener[, options]); target 目标对象;type 表示监听事件类型的字符串; listener 必须是一个实现了 EventListener 接口的对象,或者是一个函数;options 布尔类型(可选),为 true 时执行捕获阶段,为 false 时执行冒泡阶段。
  • 同一个元素绑定的相同事件既设置了捕获阶段又设置了冒泡阶段,会先执行捕获再执行冒泡。

通过 attachEvent() 的方式绑定事件,同样可以绑定多个事件,该方法是属于 IE 的方法。

  • target.attachEvent(type,listener); type 事件类型字符串,(需要加 on 如 onclick,onkeyup),listener 事件处理函数。
删除事件

传统方式:

  • eventTarget.onclick = null

方法监听注册方式:

  • eventTarget.removeEventListener(type, listener[, useCapture])

    • type 需要移除的事件类型
    • listener 需要从目标事件移除的 EventListener 函数
    • 指定需要移除的 EventListener 函数是否为捕获监听器。如果无此参数,默认值为 false
  • target.detachEvent(eventNameWithOn, callback) IE 的方法

    • target

      将要移除事件的DOM节点

    • eventNameWithOn

      将要移除的事件名,以“on”为前缀(例如它是一个事件处理程序)。 例如,您可以使用“onclick”移除点击事件的事件处理程序。

    • callback

    • 注销事件后的回调函数

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值