这段代码会在 Chrome 的 JavaScript 控制台中生成该错误,我不知道为什么。在谷歌搜索有类似问题的人后,我没有找到任何 D:
错误消息表明问题出在 event.which()
但我不明白我的使用方式与预期有什么不同,其他有类似情况的人似乎也没有遇到问题。
$(document).keypress(function(event) {
switch (event.which()) {
case 38 : keyNorthPressed = true;
break;
case 39 : keyEastPressed = true;
break;
case 40 : keySouthPressed = true;
break;
case 41 : keyWestPressed = true;
break;
}
});
提前致谢。
最佳答案
答案here .
有两种可能的方法可以检索事件 key 代码:
event.keyCode or event.which
您的代码应该是:
$(document).keypress(function(event) {
var code = event.keyCode || event.which;
switch(code) {
case 38 : keyNorthPressed = true;
break;
case 39 : keyEastPressed = true;
break;
case 40 : keySouthPressed = true;
break;
case 41 : keyWestPressed = true;
break;
}
});
event.keyCode和event.which是属性,不是方法,不能用()来调用。
关于javascript - 未捕获的类型错误 : Property 'which' of object #<Object> is not a function,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15040892/