Javascript 功能表达式/事件检测在ie中不起作用<=9或狩猎

Javascript 功能表达式/事件检测在ie中不起作用<=9或狩猎,javascript,function,internet-explorer,safari,named,Javascript,Function,Internet Explorer,Safari,Named,我已经搜索了大约一天的答案了,我有一个在IE9或更低版本或Safari中无法使用的功能。我想这是因为它是由键盘事件触发的。它还将事件传递给函数,以便该函数可以检查值并相应地执行操作 我想知道是否有人能告诉我问题是什么,功能如下: window.onkeyup = function(e) { //This doesn't seem to work in the above browsers var key = e.keyCode ? e.keyCode : e.which; //But n

我已经搜索了大约一天的答案了,我有一个在IE9或更低版本或Safari中无法使用的功能。我想这是因为它是由键盘事件触发的。它还将事件传递给函数,以便该函数可以检查值并相应地执行操作

我想知道是否有人能告诉我问题是什么,功能如下:

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'

   }

}   

非常感谢您的帮助。

可能是因为代码中没有定义数组,至少代码部分在此处可见。 试着把这个条件颠倒过来,也许到时候就行了

(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; } 
 }