2016-09-15 94 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