jQuery代码无法在IE 8上运行

时间:2012-02-10 18:15:20

标签: jquery

以下代码适用于FF和Chrome,但不适用于IE8。

$(window).keyup(function(e) {
    var code = e.which
    if (code == 9) 
    { 
        alert("do stuff");
        cellContent();
        autoDate();
    }
});

此代码将识别选项卡并执行函数cellContent()和autoDate()。我添加了警报,看看这个功能是否曾在IE8上使用,但它似乎没有识别它。

提前致谢!

2 个答案:

答案 0 :(得分:2)

我找到了答案!我所要做的只是做而不是做

$(window).keyup(function(e) {
var code = e.which
if (code == 9) 
{ 
    alert("do stuff");
    cellContent();
    autoDate();
}
});

我只需将$(窗口)更改为$(文档)

$(document).keyup(function(e) 
{

 var code = (e.keyCode ? e.keyCode : e.which);
 if (code == 9) 
  { 
    alert("hello world");
    cellContent();
    autoDate();
  }

});

感谢您的所有帮助

答案 1 :(得分:0)

为什么不尝试使用此语句来决定使用什么值。它似乎适用于所有主流浏览器。

var code = (e.keyCode ? e.keyCode : e.which);
我不完全确定技术解释,但快速搜索给了我这个页面:

http://unixpapa.com/js/key.html

它包含一个表格,其中包含对每个主要浏览器的引用以及它们支持的属性

  • event.keyCode
  • event.which
  • event.charCode

继续评论:

此外,尝试使用以下语法绑定事件:

  

$(window).bind('keyup',callBack);

或者尝试将事件绑定到文档:

  

$(文档)。bind('keyup',callBack);