我正在使用锤子拖拽,它在加载其他东西时变得起伏不定,因为这个警告信息告诉我。
处理'touchstart'输入事件延迟X毫秒由于 主线程忙。考虑将事件处理程序标记为“被动” 使页面反应更灵敏。
所以我试着像这样给听者加上“被动”
Hammer(element[0]).on("touchstart", function(ev) {
// stuff
}, {
passive: true
});
但我还是收到了警告。
我正在使用锤子拖拽,它在加载其他东西时变得起伏不定,因为这个警告信息告诉我。
处理'touchstart'输入事件延迟X毫秒由于 主线程忙。考虑将事件处理程序标记为“被动” 使页面反应更灵敏。
所以我试着像这样给听者加上“被动”
Hammer(element[0]).on("touchstart", function(ev) {
// stuff
}, {
passive: true
});
但我还是收到了警告。
当前回答
对于那些受困于遗留问题的人,找到抛出错误的行并添加{passive: true} -例如:
this.element.addEventListener(t, e, !1)
就变成了
this.element.addEventListener(t, e, { passive: true} )
其他回答
我也遇到过同样的问题。然后我用了这个
<脚本type=“文本/javascript”src=“https://unpkg.com/default- passievents”></脚本>
希望你的问题能得到解决。
我找到了一个解决方案,工作在jQuery 3.4.1 slim
在取消最小化之后,在第1567行中将{passive: true}添加到addEventListener函数中,如下所示:
t.addEventListener(p, a, {passive: true}))
什么都不会坏,灯塔审计也不会抱怨监听者。
对于那些受困于遗留问题的人,找到抛出错误的行并添加{passive: true} -例如:
this.element.addEventListener(t, e, !1)
就变成了
this.element.addEventListener(t, e, { passive: true} )
这将隐藏警告信息:
jQuery.event.special.touchstart = {
setup: function( _, ns, handle ) {
this.addEventListener("touchstart", handle, { passive: !ns.includes("noPreventDefault") });
}
};
对于jquery-ui-dragable和jquery-ui-touch-punch,我修复了它类似于Iván Rodríguez,但有一个更多的事件覆盖touchmove:
jQuery.event.special.touchstart = {
setup: function( _, ns, handle ) {
this.addEventListener('touchstart', handle, { passive: !ns.includes('noPreventDefault') });
}
};
jQuery.event.special.touchmove = {
setup: function( _, ns, handle ) {
this.addEventListener('touchmove', handle, { passive: !ns.includes('noPreventDefault') });
}
};