我想使用preventDefault禁用videojs中的touchstart事件。

player.on('touchstart', (e) => { e.preventDefault() });

但是我得到这个错误:
Unable to preventDefault inside passive event listener invocation.

我也没有使用removeEventListener的处理程序。

如何删除此事件?

最佳答案

如果要删除事件,请尝试以下操作:

 player.off('touchstart',function(){})

如果要自定义并希望避免默认设置,请尝试以下操作:
player.on('touchstart', (e) => { e.preventDefault() },{passive: false});

也可以通过不提供功能来完全删除事件:
player.off('touchstart');

或者可以提供一个数组:
const eventsToRemove = [
  'mousemove',
  'mouseover',
  'mouseup',
  'mousedown',
  'mouseleave',
  'touchstart'
];

player.off(eventsToRemove);

更多细节 :
https://docs.videojs.com/docs/api/player.html#Methodsoff

关于javascript - 如何从videojs禁用/删除touchstart事件?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59197343/

10-12 06:37