按enter javascript时发生的事件
无论何时按下向上或向下按钮,我都可以检查这些键是否被按下,例如,此处将触发警报:按enter javascript时发生的事件,javascript,event-listener,Javascript,Event Listener,无论何时按下向上或向下按钮,我都可以检查这些键是否被按下,例如,此处将触发警报: if ((38 in keysDown) ) { // Player holding up window.alert("up button was pressed"); } if ((40 in keysDown) ) { // Player holding down window.alert("down button was pressed"); } 但在这里,即使我
if ((38 in keysDown) ) { // Player holding up
window.alert("up button was pressed");
}
if ((40 in keysDown) ) { // Player holding down
window.alert("down button was pressed");
}
但在这里,即使我按下回车键,警报也不会播放
if ((13 in keysDown) ) { // player pushed on enter
window.alert("enter key was pressed"); // here nothing happen
}
我在开始时使用这3行代码添加事件列表:
keysDown = {};
addEventListener("keydown", function (e) {keysDown[e.keyCode] = true;}, false);
addEventListener("keyup", function (e) {delete keysDown[e.keyCode];}, false);
但是由于某种我不知道的原因,回车键不起作用
问题发生在firefox上,在Chrome和IE上运行良好
提前谢谢
编辑我解决了问题,我使用的画布没有焦点,
所以“回车”按钮不起作用,有人能告诉我如何切换焦距吗 回车键代码是13 以下是一个简单的事件方法,用于检测按下enter键的情况: 编辑:我用更简单的东西编辑了我的文章:
function check() {
if (window.event.keyCode == 13) {
document.write("Enter pressed");
}
}
<body onkeypress="check()">
</body>
函数检查(){
if(window.event.keyCode==13){
文件。写入(“按Enter键”);
}
}
在Firefox中使用event.which
,在IE中使用event.keyCode
编辑我找出了问题所在,我使用的画布没有
对焦,所以回车键不起作用,有人能告诉我如何切换吗
焦点
当然可以。或者更好: 1-选项卡索引:
$("#canvas")
// Add tab index to ensure the canvas retains focus
.attr("tabindex", "0")
// Mouse down override to prevent default browser controls from appearing
.mousedown(function(){ $(this).focus(); return false; })
.keydown(function(){ /* ... bla bla bla ... */ return false; });
// Add content editable to help ensure the canvas retains focus
$("#canvas").attr("contentEditable", "true")
$("#canvas")[0].contentEditable = true;
2-将contentEditable设置为true:
$("#canvas")
// Add tab index to ensure the canvas retains focus
.attr("tabindex", "0")
// Mouse down override to prevent default browser controls from appearing
.mousedown(function(){ $(this).focus(); return false; })
.keydown(function(){ /* ... bla bla bla ... */ return false; });
// Add content editable to help ensure the canvas retains focus
$("#canvas").attr("contentEditable", "true")
$("#canvas")[0].contentEditable = true;
来源:是否每个浏览器都会出现这种情况?你注意到了哪个浏览器?你能提供一把小提琴吗?我用的是火狐。。。我需要它主要在firefoxcheckout上工作这在firefox中对我有效。。。显示keyCode 13让我猜猜:您试图在
中捕获enter键?在小提琴中也适用,但在我使用代码时不适用。我认为这只适用于Chrome。。。此处当前事件对象存储在窗口中。事件。。。但这在其他浏览器中不起作用