在videojs中,如何取消绑定videojs设置的键盘快捷键?

时间:2016-09-18 02:49:01

标签: javascript html5-video video.js shortcuts

我正在通过修改源代码构建我自己的基于videojs的媒体播放器。我现在要做的是绑定我自己的键盘快捷键,但显然videojs提前设置了一些快捷方式。为了绑定我自己的键盘快捷键,我需要删除videojs中设置的默认快捷键。

如何取消绑定/删除videojs设置的键盘快捷键?

1 个答案:

答案 0 :(得分:0)

在代码中我发现了这个:

  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);
});