【问题标题】:In videojs, how to unbind keyboard shortcuts set by videojs?在videojs中,如何取消绑定videojs设置的键盘快捷键?
【发布时间】:2016-09-18 02:49:01
【问题描述】:

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

如何解除绑定/移除videojs设置的快捷键?

【问题讨论】:

    标签: javascript html5-video video.js shortcut


    【解决方案1】:

    在代码中我发现了这个:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多