Jon*_*Sud 6 javascript video.js
我想使用 PreventDefault 禁用 videojs 中的 touchstart 事件。
player.on('touchstart', (e) => { e.preventDefault() });
Run Code Online (Sandbox Code Playgroud)
但我收到此错误:
Unable to preventDefault inside passive event listener invocation.
Run Code Online (Sandbox Code Playgroud)
我也没有可用的处理程序removeEventListener。
我可以做什么来删除此事件?
如果您想删除事件,请尝试以下操作:
player.off('touchstart',function(){})
Run Code Online (Sandbox Code Playgroud)
如果您想自定义并防止默认,请尝试以下操作:
player.on('touchstart', (e) => { e.preventDefault() },{passive: false});
Run Code Online (Sandbox Code Playgroud)
也可以通过不提供函数来完全删除事件:
player.off('touchstart');
Run Code Online (Sandbox Code Playgroud)
或者可以提供一个数组:
const eventsToRemove = [
'mousemove',
'mouseover',
'mouseup',
'mousedown',
'mouseleave',
'touchstart'
];
player.off(eventsToRemove);
Run Code Online (Sandbox Code Playgroud)
有关更多详细信息: https://docs.videojs.com/docs/api/player.html#Methodsoff