大家都知道 addEventListener 可以给对象添加事件监听。百度,w3school 对它的解释,有三个参数,语法格式如下:

 el.addEventListener(type, listener[, useCapture])

el:事件对象。比如,某个标签,window,document 对象等等。
type:事件类型,click、mouseenter 等
listener:事件处理函数,事件发生时,就会触发该函数运行。
useCapture:布尔值,规定是否是捕获型,默认为 false(冒泡)。因为是可选的,往往也会省略它。

不过,2015年底,为了扩展新的选项,因此给 addEventListener 拓展了第三个参数。

ECMA规范做了修订:addEventListener() 的第三个参数可为 {} 对象。

el.addEventListener(type, listener, {capture: false, // === useCaptureonce: false,    // 是否设置单次监听passive: false  // 是否让 阻止默认行为(preventDefault()) 失效
})
// 新增参数的三个属性,默认值都是 false。

不过 addEventListener 以前的用法依然可用。第三个参数为{}对象,只是做了功能上的拓展,不是要取消之前的用法。

如何移除 { passive: true } 的监听事件呢?

// 直接省略第三个参数
el.removeEventListener(type, listener)// 如果添加了 capture: true 的事件,则加上
el.removeEventListener(type, listener, true)
el.removeEventListener(type, listener, {passive: true})

addEventListener的第三个参数相关推荐

  1. addeventlistener事件第三个参数_简析JavaScript 事件绑定、事件冒泡、事件捕获和事件执行顺序...

    这篇文章主要介绍了javaScript 事件绑定.事件冒泡.事件捕获和事件执行顺序整理总结的相关资料 (一)事件绑定的几种方式 javascript给DOM绑定事件处理函数总的来说有2种方式:在htm ...

  2. addeventlistener事件第三个参数 passive_JS DOM 事件流、事件冒泡

    当一个HTML元素触发一个事件时,该事件会在元素结点与根结点之间的路径传播.传播按顺序分为三个阶段:捕获阶段.目标阶段.冒泡阶段,这个传播过程就是 DOM 事件流. 事件冒泡就是当一个HTML元素出发 ...

  3. addEventListener 的第三个参数capture、once、passive

    做网页canvas手势绘制的时候,手机端页面会有抖动. 解决方案在手机端加个锁定的按钮.并用addEventListener 的passive属性来控制页面的滑动. var lockflag = fa ...

  4. addeventlistener事件第三个参数_JavaScript 事件与事件处理机制

    一.JavaScript事件是什么? 当用户与网页发生交互时,可以使用事件监听器来绑定事件,在事件发生时执行相应的代码. 事件分为: 1.浏览器事件:window.onload,window.scro ...

  5. addListener添加事件监听器,第三个参数useCapture (Boolean) 的作用

    addEventListener 有三个参数:第一个参数表示事件名称(不含 on,如 "click"):第二个参数表示要接收事件处理的函数:第三个参数为 useCapture,本文 ...

  6. C语言strftime()函数 (格式化时间)(注意第二个参数size_t maxsize一定要大于第三个参数const char *format指向字符串的长度)

    需包含:C 标准库 - <time.h> 文章目录 描述 声明 参数 返回值 实例 使用☞坑(注意第二个参数size_t maxsize一定要大于第三个参数const char *form ...

  7. 三个案例带你看懂LayoutInflater中inflate方法两个参数和三个参数的区别

    本文转载自[http://blog.csdn.net/u012702547/article/details/52628453] 关于inflate参数问题,我想很多人多多少少都了解一点,网上也有很多关 ...

  8. 前端必知必会--JSON.stringify()犀利的第三个参数

    作者: 小华坚决上王者 建议阅读时间: 2 min 博客原文 JSON.stringify()是个经常使用的前端方法,这个函数可以传入三个参数,这里我安利下第三个参数,专门用来美化输出,先看下语法: ...

  9. [js] setTimeout的第三个参数有什么用?

    [js] setTimeout的第三个参数有什么用? 第三个参数将作为定时器到期触发的函数的参数 个人简介 我是歌谣,欢迎和大家一起交流前后端知识.放弃很容易, 但坚持一定很酷.欢迎大家一起讨论 主目 ...

最新文章

  1. android内置picker控件,android中控件DatePicker控件-Fun言
  2. Qt Creator使用灯光
  3. 多案分库分表带来的问题-跨库关联查询
  4. SAP UI5 binding syntax - model name + + attribute name
  5. php 判断是否文件,利用PHP判断文件是否为图片的方法总结
  6. 顺序容器之vector
  7. 笔记本安装win7和arch linux双系统+xfce4桌面
  8. mysql定时增量备份_Mysql日常自动备份和增量备份脚本
  9. Docker快速搭建TeamSpeak多人语音聊天服务器
  10. sql server表分区_SQL Server 2016增强功能– SQL截断表和表分区
  11. 学编程必备:3 大编程字体!让你在编程的时候原地起飞!
  12. mysql ipk 编译_OpenWrt的ipk包安装
  13. wordpress建站我们如何选择虚拟主机和VPS服务器呢?
  14. gulp打包报错 “Error: Unhandled ‘error‘ event at new JS_Parse_Error”
  15. 如何使用笔记本无线网卡创建无线热点?
  16. 日语的汉(训读)字音读音便规则
  17. 米的换算单位和公式_英寸和厘米的换算、英尺和米的换算及英寸和毫米的单位换算公式...
  18. window关闭烦人的右下角广告
  19. 用C语言实现控制台播放音乐的功能
  20. Frozen UI使用笔记 - 自带图标导致底部导航部分文字无法显示的解决

热门文章

  1. C++程序调试法之输出中间变量
  2. 行业分析-全球与中国数字农业解决方案市场现状及未来发展趋势
  3. 苹果笑傲群雄的万能电视遥控器技术
  4. verilog除法器设计
  5. 简单了解DGL中的数据格式
  6. 制作虚拟主机管理系统(一)
  7. GNU、FSF与自由软件
  8. Chrome插件英雄榜
  9. 使用 Python 发送短信?
  10. 3DMAX模型转成XPL格式