首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >禁用/启用即点即用功能

禁用/启用即点即用功能
EN

Stack Overflow用户
提问于 2015-10-05 08:30:02
回答 2查看 1.3K关注 0票数 0

我目前正在为video.js构建一个插件,在某些断点将覆盖显示在屏幕上。但是,如果不启动视频,我无法单击任何覆盖。我认为我需要禁用播放器上的点击播放功能。

如何禁用/启用video.js播放器的点击播放功能?

代码语言:javascript
运行
复制
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上运行

EN

回答 2

Stack Overflow用户

发布于 2015-10-05 09:14:07

这里发生的事情是,点击覆盖正在向下传播到video.js播放器。你需要做的就是停止点击事件在覆盖层上的传播。这意味着您不需要禁用任何video.js播放器功能。

Mozilla Doc: Event.stopPropagation()

Event Bubble Cancellation Demo

在您的情况下,可能适用的内容大致如下

代码语言:javascript
运行
复制
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;
})

这将在覆盖处停止点击事件,并且不让下面的玩家被点击。

票数 1
EN

Stack Overflow用户

发布于 2015-10-08 16:32:35

因为.vjs-big-play-button的z-index值被设置为2,你应该给你的overlay一个更大的z-index。然后它也会覆盖播放按钮。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32939803

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档