javascript - 在videojs中,如何解除videojs设置的键盘快捷键的绑定(bind)?

标签 javascript html5-video video.js shortcut

我正在通过修改源代码基于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/

相关文章:

javascript - 有什么方法可以重定向到新页面并在该页面上使用 jquery 写入一些内容吗?

javascript - Html 内容到 Pdf 转换

javascript - ng-submit with focus out 事件

video - ffmpeg 将 mov 文件转换为 mp4 用于 HTML5 视频标签 IE9

javascript - 视频播放器|改变语言和质量

jquery - 在iphone上自动关闭播放器的全屏

javascript - 一切都是表达

javascript - 禁用 HTML5 视频全屏模式

linux - Video.js 源不在 Apache 文件夹中

javascript - 动态加载内容上的自定义 video-js 宽度和高度