【发布时间】:2016-09-18 02:49:01
【问题描述】:
我正在通过修改源代码基于 videojs 构建自己的媒体播放器。我现在要做的是绑定我自己的键盘快捷键,但显然videojs已经提前设置了一些快捷键。为了绑定我自己的键盘快捷键,我需要去掉videojs中设置的默认快捷键。
如何解除绑定/移除videojs设置的快捷键?
【问题讨论】:
标签: javascript html5-video video.js shortcut
我正在通过修改源代码基于 videojs 构建自己的媒体播放器。我现在要做的是绑定我自己的键盘快捷键,但显然videojs已经提前设置了一些快捷键。为了绑定我自己的键盘快捷键,我需要去掉videojs中设置的默认快捷键。
如何解除绑定/移除videojs设置的快捷键?
【问题讨论】:
标签: javascript html5-video video.js shortcut
在代码中我发现了这个:
ClickableComponent.prototype.handleKeyPress = function handleKeyPress(event) {
// Support Space (32) or Enter (13) key operation to fire a click event
if (event.which === 32 || event.which === 13) {
event.preventDefault();
this.handleClick(event);
} else if (_Component.prototype.handleKeyPress) {
_Component.prototype.handleKeyPress.call(this, event); // Pass keypress handling up for unsupported keys
}
};
我只是在寻找 32 女巫是来自太空的键码。玩家只使用两个快捷键进入和空格。所以我推荐了这些台词:
ClickableComponent.prototype.handleKeyPress = function handleKeyPress(event) {
// Support Space (32) or Enter (13) key operation to fire a click event
if (event.which === 32 || event.which === 13) {
//event.preventDefault();
//this.handleClick(event);
} else if (_Component.prototype.handleKeyPress) {
//_Component.prototype.handleKeyPress.call(this, event); // Pass keypress handling up for unsupported keys
}
};
唯一的问题是当您单击全屏图标并按空格键时,它将退出全屏模式。但其余的被删除。比如播放/暂停、静音和字幕。我希望它有帮助!对不起,我的英语不好。
编辑: 我在 video.js 导入后通过这段代码解决了这个问题:
$('.vjs-fullscreen-control').click(function(){
setTimeout(function(){
document.getElementById('example_video1').focus();
},20);
});
【讨论】: