我一直在寻找这个答案大约一天,我有一个功能,只是在IE9或以下或Safari中工作。我认为这是因为它是由键盘事件触发的。它还将事件传递给函数,因此onkeyup函数可以检查值并相应地执行操作。
我很想知道是否有人可以告诉我问题是什么,功能如下:
window.onkeyup = function(e) { //This doesn't seem to work in the above browsers
var key = e.keyCode ? e.keyCode : e.which; //But neither does this
if (key == 83 && array.length>=0) {
// Log answer as 'S'
}else if (key == 68 && array.length>=0) {
//Log answer as 'D'
}
}
任何帮助将不胜感激,谢谢。
答案 0 :(得分:1)
可能是因为array
未在代码中定义,至少在此处可见代码部分。
尝试颠倒条件,然后可能会有效。
(e.which) ? e.which : e.keyCode
其他想法是在之前的比较中使用e
之前使用下面的代码:
if (window.event){
e = window.event.keyCode;}
else if (event.charCode) {
e = event.charCode;}
else if (event.which){
e = event.which; }
}