正如标题所解释的,
单击视频查看区域时,我需要禁用暂停,因为单击该区域时我试图附加其他事件。
我尝试使用这个 videojs.com 但没有找到解决方案
在 video.dev.js(4.1 版)第 3399 行注释函数体
// OnClick - Toggle between play and pause
vjs.PlayToggle.prototype.onClick = function(){
/*if (this.player_.paused()) {
this.player_.play();
} else {
this.player_.pause();
}*/
};
在 video.js 第 80 行第 403 列中,它的功能相同,注释功能体
function(){/*this.a.controls()&&(this.a.paused()?this.a.play():this.a.pause())*/}
最简单的方法 - 只需将其添加到 css 文件中:
.video-js.vjs-playing .vjs-tech {
pointer-events: none;
}
我想评论 Ashot 他对 Video JS 4.6.3 解决方案的回答,但我的声誉还不够高。
MrHunter 为 Video JS 4.3 提供了答案。在 4.6.3 版本中,相同的代码位于文件 video.js 的第 99 行,如下所示:
function(a){0===a.button&&this.m().controls()&&(this.m().paused()?this.m().play():this.m().pause())};
注释掉之后是这样的:
function(a){/*0===a.button&&this.m().controls()&&(this.m().paused()?this.m().play():this.m().pause())*/};
这对我来说非常有效。感谢 Ashot 和 MrHunter 为我提供了最新版 Video JS 的解决方案!
如果您不介意直接编辑 videojs 文件,您可以将 bigPlayButton 的 CSS 设置为 none 而不是 block,或者注释掉以下内容:
// Make a click on the video act as a play button
this.activateElement(this.video, "playToggle");
这种行为将会消失。
如果您想防止点击视频时暂停,只需在脚本中添加这两行即可。
var videoEle = document.getElementById("videoTagId");
videoEle.onpause = () => { videoEle.play(); }