在videojs中重写全屏

时间:2015-09-01 15:18:45

标签: javascript jquery html5 video.js

我有一个使用Videojs的HTML5播放器。我想重写全屏按钮事件来做另外的事情。

我尝试使用JQuery重写click事件并使用preventDefault,如下所示:

$('.ico.fullsc').on('click', function(event){
    event.preventDefault();
    event.stopPropagation();
    // My stuff
});

但是,除了执行我的代码之外,它仍然会执行全屏事件。有可能吗?

非常感谢您提前

1 个答案:

答案 0 :(得分:3)

忘记video.js不使用jQuery来设置事件。我的坏!

要按照你想要的方式做到这一点,你将不得不变得有点傻,并用自己的克隆替换元素。

var fullscreenButton = $('.ico.fullsc').clone();
$('.ico.fullsc').replaceWith(fullscreenButton);
fullscreenButton.on('click', //etc

.clone()不会选择事件处理程序,但它确实保留了属性和内容,因此您获得了风格上等效的节点,但没有您不想要的事件处理程序。

还值得注意的是,您可以通过video.js添加和删除具有您自己功能的UI元素:https://github.com/videojs/video.js/blob/stable/docs/index.md#customizing