2016-09-18 413 views
1

我正在通過修改源代碼基於videojs構建自己的媒體播放器。我現在想要做的是綁定自己的鍵盤快捷鍵,但顯然videojs提前設置了一些快捷鍵。爲了綁定我自己的鍵盤快捷鍵,我需要刪除videojs中設置的默認快捷鍵。在videojs中,如何解除由videojs設置的鍵盤快捷鍵?

如何取消綁定/刪除videojs設置的鍵盤快捷鍵?

回答

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

唯一的問題是,當你點擊全屏圖標,然後按空格鍵將退出全屏模式。但其餘的被刪除。像播放/暫停,靜音和標題。我希望它有幫助!抱歉我的英文不好。

編輯:

$('.vjs-fullscreen-control').click(function(){ 
    setTimeout(function(){ 
     document.getElementById('example_video1').focus(); 
    },20); 
}); 
: 我用的Video.js進口此代碼後解決了這個問題