函数表达式/事件检测在 ie<=9 或 Safari 中不起作用

function expression/event detection not working in ie<=9 or Safari

本文关键字:Safari 不起作用 表达式 事件 检测 ie 函数      更新时间:2023-09-26

我一直在寻找这个问题的答案大约一天了,我有一个功能在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'
   }
}   

任何帮助将不胜感激,谢谢。

可能是

因为代码中没有定义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; } 
 }