在使用lighthouse检测pwa应用时,发现提示下面有下面的警告

默认使用passive:true提高滚动性能并减少崩溃,passive即顺从的,是指它顺从浏览器的默认行为。设置该属性的目的主要是为了在阻止事件默认行为导致的卡顿。一般我们写阻止默认行为的代码如下:

ele.addEventListener('touchmove', function (e) { e.preventDefault();});

//如果我们是为了阻止页面滚动添加了上述代码,默认行为就是滚动页面,但是如果我们阻止了这一默认行为,浏览器是无法预先知道的,必须等待事件监听器执行完成后,才知道要去阻止默认行为。等待监听器的执行是耗时的,,有些甚至耗时很明显,这样就会导致页面卡顿。即便监听器是个空函数,也会产生一定的卡顿,毕竟空函数的执行也会耗时。所以就有了passive属性,如果要阻止默认事件可以设置passive:false,
//阻止事件的默认行为时,

document.body.addEventListener('touchmove', function (e) {e.preventDefault(); //阻止默认的处理方式(阻止下拉滑动的效果)
}, {passive: false}); //passive 参数不能省略,用来兼容ios和android

//如果设置了passive为true,同时又阻止默认行为,阻止是不生效的

document.addEventListener("touchmove", function(event) {
event.preventDefault() //不产生作用
}, {
passive: true
})

详细请参考:https://www.cnblogs.com/ziyunfei/p/5545439.html

转载于:https://www.cnblogs.com/lydialee/p/9067273.html

阻止默认行为是配合passive使用相关推荐

  1. 阻止默认事件,浏览器滚动回弹,

    document.body.addEventListener('touchmove', function (e) {e.preventDefault() // 阻止默认的事件 }, {passive: ...

  2. Event事件-1:addEventListener事件监听 / 事件冒泡事件捕获 / 事件委托 / preventDefault 阻止默认行为 / cancelBubble、stopPropa...

    addEventListener 事件监听器 target.addEventListener(type, listener[, options|useCapture])     添加事件监听 参数: ...

  3. ajax 阻止默认提交,jQuery验证插件:在对ajax调用servlet时,submitHandler不会阻止默认提交-返回false无效...

    我有一个使用jquery和servlet的简单表单.jQuery对Servlet进行Ajax调用,然后Servlet进行一些服务器端计算,然后通过jQuery在同一页面上显示结果.我不希望表单进行默认 ...

  4. javascript, jQuery阻止默认事件和冒泡事件

    事件冒泡(event bubbling) 事件冒泡是指一个元素上的事件被触发,然后这个事件按嵌套顺序在父级元素上触发,直至document根节点. 例如: <!DOCTYPE html> ...

  5. 带你学习JQuery:事件冒泡和阻止默认行为

    首先说什么是冒泡呢,简单的意思就是,你本来想只触发一个时间,但是实际上却出发了N个事件. 举例来说,有一个元素,如Span,你绑定了一个Click函数,你又为Div绑定了一个Click函数,而这个Sp ...

  6. Vue的阻止冒泡与阻止默认

    方法 1)函数内部阻止事件冒泡   e.cancelBubble=true; 2)标签内阻止事件冒泡   @click.stop="show1()" 说明 1.event.stop ...

  7. 50 jQuery绑定事件 阻止默认事件发生 内置动画 each data

    主要内容 1  阻止后续事件继续执行 return false:  常用于表单提交 event.preventDefault : 阻止默认事件发生 <body> <form acti ...

  8. jQuery之防止【冒泡事件】,阻止默认行为 【return false】 event.stopPropagation event.preventDefault...

    知识点: event.stopPropagation()  阻止冒泡 event.preventDefault()   阻止默认事件,比如button提交后跳转到链接页面 两者都可以用 return ...

  9. javascript的阻止默认事件和阻止冒泡事件

    这两个方面的知识,在妙味课堂中有听过,再次复习一下: 原文来自:[http://www.cnblogs.com/Essence/p/4266618.html] 事件冒泡与默认行为 在说事件冒泡之前,我 ...

最新文章

  1. Tensorflow::Session 释放内存
  2. QGIS Server使用记录
  3. 【转】Android编码规范建议18条
  4. TeX下的Markdown包
  5. Satwe楼板能用弹性模计算吗_现浇楼板淋水后却出现裂缝,还好老师傅有经验,多是这3点造成的...
  6. 2021考研 计算机国家线解读及对应策略
  7. spi 协议驱动设计
  8. oracle10g执行insert,oracle 10g 增强审计。表insert 及bind values
  9. XML DTD用法【转载】
  10. 怎样在Delphi中屏蔽Flash控件的右键弹出菜单
  11. 【QtDesigner 开发笔记】在PyCharm中配置、使用方法、信号与槽、菜单、Tab Widget、子窗口
  12. java的Timer定时器
  13. mysql 列 随机数_MYSQL中生产随机数或随机字符串
  14. 百度云 java私塾_JAVA私塾-百度云
  15. oracle报03113,【案例】Oracle报错ORA-03113 ORA-15064产生原因和解决办法
  16. 【铨顺宏项目推荐】RFID无线射频识别技术的设计思路
  17. 使用 python-pptx-interface 将PPT转换成图片
  18. run()方法和start()方法的区别
  19. wordpress企业主题安装
  20. python数据库操作orm_python【第十二篇下】操作MySQL数据库以及ORM之 sqlalchemy

热门文章

  1. python对象编程例子-python面向对象编程练习
  2. python免费试听-哪家培训可以免费试听Python课程?专注16年IT培训
  3. 在python中、下列代码的输出是什么-python期末考试试题汇总
  4. Ubuntu16.04 Linux上比较好用的截图工具Flameshot
  5. ipywidgets库包的使用教程
  6. python类方法中使用:修饰符@staticmethod和@classmethod的作用与区别,还有装饰器@property的使用
  7. php 怎么获取meta标签,php – 通过jQuery获取META描述
  8. LeetCode Reverse Linked List II
  9. protobuf的编译
  10. Hive 基础-进阶