2016-05-31 36 views
2

我目前工作的一個網站上,我有一個視頻播放器,我想基本上節目,我有一個普通的舊基本HTML5視頻播放器...問題檢測CTRL + SHIFT鍵編程與事件監聽器的視頻播放器和陣列

HTML

<div class="videoPlayerSkin" style="background: black;"> 
    <video id="videoPlayer" controls> 
     <source src="http://localhost/C++Source/video/introSlideshow.mp4" /> 
     <source src="http://localhost/C++Source/video/introSlideshow.ogg" /> 
    </video> 
</div> 

然後,我有JS文件

var videoPlayer = document.getElementById("videoPlayer"); 
var playVideoArray = [16, 17, 80]; //keycodes, ctrl shift and p 

document.addEventListener("keydown", function(e) { 
    if (e.keyCode === playVideoArray[0]&&playVideoArray[1] + playVideoArray[2]) 
    { 
     videoPlayer.play(); 
    } 
}, false); 

,但它不會打我走進我的犯錯或者找不到任何錯誤,有人可以解釋這段代碼有什麼問題,以及我如何解決這個問題?我只是想,當用戶按下Ctrl + Shift + P

+0

不錯的嘗試,但這樣的:'e.keyCode === playVideoArray [0] && playVideoArray [1] + playVideoArray [2]'是不是你正在尋找什麼。這情況,據我所知,無效或無意義的。由於KEYDOWN聽**一次在一個關鍵的**,你需要存儲陣列中的當前鍵(或對象,甚至更好),並檢查是否按下所有所需的密鑰,請檢查此以供參考:HTTP: //stackoverflow.com/questions/5203407/javascript-multiple-keys-pressed-at-once(或者你可以檢查Shift鍵,然後中ctrlKey)。附註:Ctrl + Shift + P提示反正打印窗口(鉻) – briosheje

回答

3

要知道,如果Shift和Ctrl下降,用shiftKeyctrlKey從事件對象

的鍵碼播放的視頻是導致代碼事件,在這種情況下,您提到的爲80。在下面的例子中,你會因爲videoPlayer不存在得到一個錯誤,但它證明了它的工作原理

var videoPlayer = document.getElementById("videoPlayer"); 
 

 
document.addEventListener("keydown", function(e) { 
 
    if (e.keyCode === 80 && e.shiftKey && e.ctrlKey) { 
 
    videoPlayer.play(); 
 
    } 
 
}, false);
Just something so you can click and give focus to this frame <input />

+0

完美的作品非常感謝你 – user6031759

+0

會接受在7分鐘的答案。我以爲我回答得很快,但你設法讓我想起來 – user6031759

+0

你是一個嚮導 –