javascript - 我如何从 videojs 中禁用/删除 touchstart 事件?

标签 javascript video.js

我想使用 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/

相关文章:

javascript - 子域之间的共享资源

javascript - 设置div为隐藏,延时后可见

javascript - video.js 有条件地默认为 FLV

html5-video - 使用 Video.Js 链接 html5 视频

jquery - 在iphone上自动关闭播放器的全屏

javascript - 在实例化时检查 Video.js 对象的更好方法?

JavaScript 文件在 Laravel 中无法正确加载

javascript - tinymce 版本 4 中没有图像类型

javascript - 在 .append 之后运行函数