2016-09-15 35 views
0

我想知道如何在事件監聽器中正確使用javscript中的onkeydownonkeyup事件。當您只是在網站上按下,而不是在文本字段中時,我希望事件聽取。Javascript onkeydown/up

我不確切知道腳本的外觀如何,但希望您明白我想要做什麼。 我想通代碼將是這個樣子:

document.addEventListener('keydown', 'keyup', function(event) { 
if(event.keyCode == 65){ 
    gas1(); 
}}); 

對不起,如此不清楚,盡我所能來解釋

+0

可能重複[jQuery:在整個文檔上觸發按鍵功能,但n ot裏面的投入和textareas?](http://stackoverflow.com/questions/11807944/jquery-trigger-keypress-function-on-entire-document-but-not-inside-inputs-and-t) – Roope

+0

爲keydown事件:HTTP:// WWW .w3schools.com/jsref/event_onkeydown.asp –

+0

爲keyup事件:http://www.w3schools.com/jsref/event_onkeyup.asp –

回答

1

看我的jsfiddle準備一個例子:

document.addEventListener('keydown', function(event) { 
    console.log(event.key); 
}); 

只需在整個文檔中添加一個監聽器,然後檢查回調中收到的事件對象中的「密鑰」

keydown event test

1

嘗試實現這個

document.onkeydown = function(event) { 
    if(event.keyCode == 65){ 
     gas1(); 
    } 
} 
document.onkeyup = function(event) { 
    if(event.keyCode == 65){ 
     gas1(); 
    } 
} 

但是,如果你想在按鍵調用一個函數GAS1()只有一次將只使用KEYDOWN。

1

您無法在單個document.addEventListener上聚合兩個事件。第一個參數是事件的名稱,第二個參數是觸發時調用的偵聽器函數。

創建兩個處理程序,一個用於keyup,另一個用於​​,或者僅使用keypress來代替。

參考:http://www.w3schools.com/jsref/met_document_addeventlistener.asp

1

您可以使用下面的代碼爲HTML網頁上檢查KEYUP和的KeyDown按下。

注意:方向鍵只能由onkeydown觸發。

$(document).ready(function() { 
 
    document.onkeydown = function(event) { 
 
    if(event.keyCode=="38") 
 
\t  console.log("Up key pressed"); 
 
    else if(event.keyCode=="40") 
 
     console.log("Down key pressed"); 
 
    }; \t \t 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

上面的代碼對系統工作正常進行測試。

注意:嘗試測試時,您的焦點應該在結果區域以在控制檯上打印輸出。

0
function defw(){ 
    for(var i =0; i < 10; i+= 1) { 
     var div = document.createElement('div'); 
     document.getElementsByTagName('section')[0].appendChild(div); 
     } 
} 

document.addEventListener('keydown', function(event) { 
    var ekey = event.keyCode 
    if(69 === ekey) { 
     defw(); 
    } 
}); 

這個例子是爲了讓10 DIVS調用函數defw()
1.保存在變量
2. event.keyCode值69是在你的鍵盤

鍵盤字母e

這裏是鏈接codepen.io