我一直在制作游戏,我想在画布旁边放一个输入框。我终于弄清楚了
<input type='text' id='input' value='asdf'>
阻止我能够编辑输入框
{{1}}
任何两种方法都有效的解决方案? 我已经尝试将addEventListener放在一个div周围 画布&#39;但除非我注释掉那段代码,否则它仍然无法正常工作。
答案 0 :(得分:1)
您可以检查触发事件的元素是不是输入。
以下是对代码的更改:
var keys = {}
document.body.addEventListener("keydown", function(e){
if (e.srcElement.nodeName !== 'INPUT') {
e.preventDefault();
keys[e.keyCode] = true;
}
});
document.body.addEventListener("keyup", function(e){
if (e.srcElement.nodeName !== 'INPUT') {
e.preventDefault();
keys[e.keyCode] = false;
}
});
<input type='text' id='input' value='asdf'>