当前位置: 首页 > 知识库问答 >
问题:

警告:当md-Select位于md-tabs中时,将非被动事件侦听器添加到阻止滚动的触摸移动事件

金高轩
2023-03-14

我在使用角材料的angularjs应用程序中面临性能问题。

我有一个

[Violation]将非被动事件侦听器添加到滚动阻止“touchmove”事件。将事件处理程序标记为“被动”以使页面更加响应。看见https://www.chromestatus.com/feature/5745543795965952

您可以找到复制我的问题的代码笔:https://codepen.io/jjalal/pen/vWxYbv.当从Harry切换到John时,页面冻结(这在我的应用程序中更为明显)。如果打开js日志并将日志级别设置为“所有级别”(启用详细级别),则可以看到3000个日志(我有3个选择,每个选择1000个选项)。

我在一些答案中看到,我应该将事件被动设置为true,如下所示:

document.addEventListener('touchmove', function(e) {
    e.preventDefault();
}, { passive: true });

但这并没有解决我的问题。

任何帮助都将不胜感激。


共有1个答案

籍永安
2023-03-14

最近(两天前)发生了一个非常类似的问题,经过数小时的研究,我不得不意识到这是一个在不久的将来无法解决的问题。请参考此问题和已接受的答案进行解释。(还可以查看angularjs github问题,它有一个标签“不会修复”)

关于一种解决方案:

问题是浏览器(甚至不要在IE中尝试它,它会被“长时间运行的脚本”冻结)和DOM呈现(而不是代码)都存在100%的问题。所以我不断地尝试,一个接一个地删除DOM的小部分(完整的容器div、按钮、段落,我能找到的任何东西)。在某一点上,我能够确定问题的起因。我有一个可拖动的项目,其中包含一个可点击的md图标,该图标有一个悬停md工具提示。现在,您可以看到它有3个发生碰撞的事件(拖动项目、单击按钮并悬停按钮)。删除md工具提示后,它就像一个符咒一样工作。我的建议是让你开始确定到底是什么导致了这一切。真正的解决方案将不得不等待。。。

 类似资料:
  • 我有一个反应组件与材料ui滑块。每次这个组件呈现时,我都会收到这个警告:“将非被动事件侦听器添加到阻止滚动的‘触摸启动’事件中。考虑将事件处理程序标记为“被动”,以使页面更具响应性” 如何解决这个问题?

  • 在致力于提高渐进式web应用程序的性能时,我遇到了一个新功能,我发现很难理解这个概念。 什么是被动事件侦听器,在我们的项目中需要它吗?

  • 我想开发一个带有div和一些样式的文件拖放组件: dragenter:更改div边框颜色 dragleave:还原为原始div边框颜色 在Firefox 35(Ubuntu)上,当div有一个滚动条(水平或垂直)并且在滚动条中移动文件时,我会发生以下事件: < li>dragenter:移过div边框 < li>dragenter:在滚动条上移动 < li>dragleave:离开滚动条 所以我在

  • 单击选择元素显示此警告: [违规]将非被动事件侦听器添加到滚动阻止“鼠标滚轮”事件。将事件处理程序标记为“被动”以使页面更加响应。 问题是,这也扩大了谷歌浏览器中HTML页面的高度。在Chrome版本59.0中测试。3071.86(官方版本)(64位)在firefox中不会出现这种情况。 简单代码:https://jsfiddle.net/gurigraphics/2399mnyb 如果自定义滚动

  • 如果你哭喊着:“移动设备怎么样?台式机和笔记本电脑已经成为历史!”,本节就是写给你的。随着上网设备从数量庞大的台式机开始往移动设备转移,日益明显的是,未来的Web,包括画布,大部分将会驻留在移动设备上。 运行在台式机和笔记本电脑上的应用,通过检测mousedown, mouseup, mouseover, mouseout, 和 mousemove触发的鼠标事件,来跟用户进行交互,运行在移动设备上

  • 在使滚动系列事件正常运行方面存在问题(根本不符合设计)。已经浏览了所有关于此的文章、代码建议和其他帮助主题,但没有人能够解释为什么此示例根本不起作用: 基本页面html: 好的,如果复制粘贴,则需要替换包含文件,并且版本可能不同。对这种行为表示怀疑。当我取出jquery时。移动包含该脚本按预期工作,每当滚动位置改变时,都会将滚动注释记录到控制台中。 当我包含jquery.mobile页面加载时它会