我正在通过修改源代码基于videojs构建自己的媒体播放器。我现在想做的是绑定(bind)自己的键盘快捷键,但显然videojs已经提前设置了一些快捷键。为了绑定(bind)我自己的键盘快捷键,我需要删除 videojs 中设置的默认快捷键。
如何解除绑定(bind)/删除videojs设置的键盘快捷键?
最佳答案
在代码中我发现了这个:
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 女巫是来自太空的 key 代码。玩家仅使用输入和空格两个快捷键。所以我推荐这几行:
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);
});
关于javascript - 在videojs中,如何解除videojs设置的键盘快捷键的绑定(bind)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39553572/