今天突然之间,我开始在我们网站的每个页面上看到这个
Added non-passive event listener to a scroll-blocking 'touchstart' event.
Consider marking event handler as 'passive' to make the page more responsive
而且这不仅仅是一次或两次......它就像数千次......
他们正在胡作非为。
阻止大量违规行为的唯一方法是注释掉这一行
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.12.4/jquery.min.js" type="text/javascript"></script>
我阅读了有关此违规含义的其他帖子,但我真的看不出两个小时前和现在之间我做了什么不同的事情(我做了完全回滚只是为了看看它是否有帮助)
这几乎就像有人在 jquery.min.js 中放入了一个错误,但我严重怀疑这一点,因为那样每个人都会明白它。
有什么想法吗?我尝试了所有可能的调试,但我仍然不知道是什么原因导致的?!?
更新
我替换了所有<button><md-tooltip>text</md-tooltip></button>
与 <button data-toggle="tooltip" title="text"></button>
这消除了 99% 的违规行为。
最佳答案
这解决了我的问题:
jQuery.event.special.touchstart = {
setup: function( _, ns, handle ){
if ( ns.includes("noPreventDefault") ) {
this.addEventListener("touchstart", handle, { passive: false });
} else {
this.addEventListener("touchstart", handle, { passive: true });
}
}
};
关于javascript - 向滚动阻塞 'touchstart' 事件添加了非被动事件监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46094912/