我目前正在为video.js构建一个插件,在某些断点将覆盖显示在屏幕上。但是,如果不启动视频,我无法单击任何覆盖。我认为我需要禁用播放器上的点击播放功能。
如何禁用/启用video.js播放器的点击播放功能?
function createBreak(breakpoint){
player.pause();//pause the playback
player.getChild('controlBar').hide();//hide the controlbar
breakpoint.resolved = true;//
var button = createEl('button',{});//adds button to video.js parent <div>
button.innerHTML = "continue";//
//THE PROBLEM: this button cannot be clicked (this is just a proof of concept)
// because clicking on it will restart the player
//WHAT I NEED: a function that can disable the click-to-play
}This solution已经存在,但似乎只能在较旧版本的video.js上运行
发布于 2015-10-05 09:14:07
这里发生的事情是,点击覆盖正在向下传播到video.js播放器。你需要做的就是停止点击事件在覆盖层上的传播。这意味着您不需要禁用任何video.js播放器功能。
Mozilla Doc: Event.stopPropagation()
Event Bubble Cancellation Demo
在您的情况下,可能适用的内容大致如下
var overlay = /* Get reference to overlay element here */
overlay.addEventListener('click', function(e) {
functionBearingWhatEverCodeYouAlreadyHaveForOverlayClickEventIfAny();
if(e.stopPropagation) e.stopPropagation();
if(e.cancelBubble != null) e.cancelBubble = true;
})这将在覆盖处停止点击事件,并且不让下面的玩家被点击。
发布于 2015-10-08 16:32:35
因为.vjs-big-play-button的z-index值被设置为2,你应该给你的overlay一个更大的z-index。然后它也会覆盖播放按钮。
https://stackoverflow.com/questions/32939803
复制相似问题