我想知道如何在javscript中使用事件监听器正确使用onkeydown
和onkeyup
事件。我希望当你只是在网站上而不是在文本字段中按下时,该事件就会收听。
我不确切地知道剧本的样子,但希望你明白我想做什么。 我认为代码看起来像这样:
document.addEventListener('keydown', 'keyup', function(event) {
if(event.keyCode == 65){
gas1();
}});
很抱歉这么不清楚,我会尽力解释
答案 0 :(得分:1)
看一下我在jsfiddle中准备的一个例子:
document.addEventListener('keydown', function(event) {
console.log(event.key);
});
只需在整个文档中添加一个监听器,然后检查"键"在回调中收到的事件对象
答案 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