专栏首页迈向前端工程师JS高级测试: 下列事件说法不正确的是?

JS高级测试: 下列事件说法不正确的是?

考核内容:JAVASCRIPT事件委托与代理,事件冒泡或事件捕获

题发散度: ★

试题难度: ★

解题思路:

事件委托的作用

  1. 支持为同一个DOM元素注册多个同类型事件
  2. 可将事件分成事件捕获和事件冒泡机制

事件传递有两种方式:冒泡与捕获。

  1. 事件传递定义了元素事件触发的顺序。如果你将 <p> 元素插入到 <div> 元素中,用户点击 <p> 元素, 哪个元素的 "click" 事件先被触发呢?
  2. 在 冒泡 中,内部元素的事件会先被触发,然后再触发外部元素,即:<p> 元素的点击事件先触发,然后会触发 <div> 元素的点击事件。
  3. 在 捕获 中,外部元素的事件会先被触发,然后才会触发内部元素的事件,即:<div> 元素的点击事件先触发 ,然后再触发 <p> 元素的点击事件。

addEventListener() 方法用于向指定元素添加事件句柄。

addEventListener() 方法可以指定 "useCapture" 参数来设置传递类型:

addEventListener(event, function, useCapture);
  • event: 必须,String类型,事件类型
  • function: 必须,函数体或者JS方法
  • useCapture: 可选,boolean类型。指定事件是否发生在捕获阶段。默认为false,事件发生在冒泡阶段

浏览器支持

注意:IE 8 及更早 IE 版本,Opera 7.0及其更早版本不支持 addEventListener() 和 removeEventListener() 方法。但是,对于这类浏览器版本可以使用 detachEvent() 方法来移除事件句柄:

element.attachEvent(event, function);element.detachEvent(event, function);

跨浏览器解决方法:

var x = document.getElementById("myBtn");if (x.addEventListener) {                    // 所有主流浏览器,除了 IE 8 及更早版本    x.addEventListener("click", myFunction);} else if (x.attachEvent) {                  // IE 8 及更早版本    x.attachEvent("onclick", myFunction);}

答案:ABC都是正确的,但是事件存在兼容性问题,所以不正确的是

D. 所有的浏览器都支持事件冒泡和事件捕获

本文分享自微信公众号 - 迈向前端工程师(shukeh5),作者:舒克老湿

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-09-04

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 企业面试题: 实现一个事件委托(事件代理)

    考核内容: 事件委托:它还有一个名字叫事件代理,事件委托就是利用事件冒泡,只指定一个事件处理程序,就可以管理某一类型的所有事件。

    舒克
  • 前端测试题:关于WeakMap结构,下列说法错误的是?

    ES6 提供了 Map 数据结构。它类似于对象,也是键值对的集合,但是“键”的范围不限于字符串,各种类型的值(包括对象)都可以当作键。

    舒克
  • 企业面试题 position的absolute与fixed共同点与不同点

    absolute的”根元素“是可以设置的,而fixed的”根元素“固定为浏览器窗口。

    舒克
  • 深入浅出事件流处理NEsper(二)

    NEsper使用的事件类型来描述事件的类型信息。你的应用在启动时可能预先配置定义事件类型,或者在运行时通过API或EPL语法动态的增加事件类型。 EPL中的cr...

    张善友
  • SAP CRM IPM行业解决方案 - 如何删除IP Right Scope

    Jerry Wang
  • 虾米“穷逼VIP”刷爆朋友圈,程序员写代码注释可要注意了!

    一张关于虾米音乐的代码截图引发网友热议。原来,在虾米音乐MAC客户端的代码注释里,把活动赠送的VIP会员注释为“穷逼VIP(活动送的那种)”,这让刚刚领了免费会...

    BestSDK
  • JavaScript:常用总结

    宋先生
  • 良心忠告:想成为数据科学家,这 4 个坑千万别踩

    在 SharpestMinds 公司工作期间,我看过许多数据科学方面的求职简历。因为这个平台是基于一个庞大的反馈机制而建立的,我们不断地从发布信息的公司那里得到...

    AI研习社
  • 零基础如何挖掘漏洞?

    漏洞是在硬件、软件、协议的具体实现或系统安全策略上存在对的缺陷,从而可以使攻击者能够在未授权的情况下访问或破坏系统。

    墨文
  • 打动人心的用户体验细节

    image.png 好设计如空气般存在。 传达出对生活的思考,对美的极致追求。 每次看到别具匠心的设计作品,都会微微一笑;抑或忍不住惊叹,哇,暖到心里了! 但...

    BestSDK

扫码关注云+社区

领取腾讯云代金券