Javascript onkeydown / up

时间:2016-09-15 13:46:40

标签: javascript event-listener

我想知道如何在javscript中使用事件监听器正确使用onkeydownonkeyup事件。我希望当你只是在网站上而不是在文本字段中按下时,该事件就会收听。

我不确切地知道剧本的样子,但希望你明白我想做什么。 我认为代码看起来像这样:

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

很抱歉这么不清楚,我会尽力解释

5 个答案:

答案 0 :(得分:1)

看一下我在jsfiddle中准备的一个例子:

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

只需在整个文档中添加一个监听器,然后检查"键"在回调中收到的事件对象

keydown event test

答案 1 :(得分:1)

尝试实施此

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

但是如果你想在按键上只调用一次函数gas1(),只需使用keydown。

答案 2 :(得分:1)

您无法在一个document.addEventListener上聚合两个事件。第一个参数是事件的名称,第二个参数是在触发时调用的侦听器函数。

创建两个处理程序,一个用于keyup,另一个用于keydown,或者仅使用keypress代替。

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

答案 3 :(得分:1)

您可以使用以下代码检查HTML页面上的KeyUp和KeyDown。

注意:箭头键仅由onkeydown触发。

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

以上代码在系统工作正常时进行测试。

注意:尝试进行测试,同时您的焦点应位于“结果”区域,以便在控制台上打印输出。

答案 4 :(得分: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.在变量
中保存event.keyCode 2.值69是KEYBOARD中的键盘字母e

这里是链接codepen.io