【问题标题】:function expression/event detection not working in ie<=9 or Safari函数表达式/事件检测在 ie<=9 或 Safari 中不起作用
【发布时间】:2014-04-02 11:39:02
【问题描述】:

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

   }

}   

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

【问题讨论】:

    标签: javascript function internet-explorer safari named


    【解决方案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; } 
     }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多