jQuery代码不适用于IE 8
下面的代码可以在FF和Chrome上完美地工作,但在IE8中却不行jQuery代码不适用于IE 8,jquery,Jquery,下面的代码可以在FF和Chrome上完美地工作,但在IE8中却不行 $(window).keyup(function(e) { var code = e.which if (code == 9) { alert("do stuff"); cellContent(); autoDate(); } }); 此代码将识别该选项卡,并执行函数cellContent()和autoDate()。我添加了警报,以查看IE8是
$(window).keyup(function(e) {
var code = e.which
if (code == 9)
{
alert("do stuff");
cellContent();
autoDate();
}
});
此代码将识别该选项卡,并执行函数cellContent()和autoDate()。我添加了警报,以查看IE8是否使用过此功能,但它似乎无法识别
提前谢谢 为什么不试着用这个语句来决定使用什么值呢。它似乎在所有主要的浏览器上都适用于我
var code=(e.keyCode?e.keyCode:e.which)代码>
我不完全确定技术上的解释,但快速搜索给了我以下页面:
它包含一个表,其中引用了每个主要浏览器及其支持的属性
- event.keyCode
- 事件,哪个
- event.charCode
继续评论:
此外,请尝试使用以下语法绑定事件:
$(窗口).bind('keyup',回调)
或者尝试将事件绑定到文档:
$(文档).bind('keyup',回调)
我找到了答案!我所要做的就是不去做
$(window).keyup(function(e) {
var code = e.which
if (code == 9)
{
alert("do stuff");
cellContent();
autoDate();
}
});
我只需将$(窗口)更改为$(文档)
谢谢您的帮助我想这需要先进行基本调试。你测试过IE中的code
值是多少吗?请看:@Richard:答案是IE中不支持的。这是真的,但不相关:jQuery。乔,这段代码在空白页中单独出现(显然是jQuery之类的)在Chrome上也不起作用。如果你能提供一个更完整的测试用例(最好是在你的问题中),人们可能会提供帮助。jQuery.@T.J.Crowder-我没意识到它做到了!谢谢你的信息!我想我已经习惯了“不能太小心”:P@Lix-我对javascript和jQuery还是相当陌生的。如果你能详细阐述一下,那就太好了@Lix:注意Joe使用的是keyup
,而不是keypress
。和$(窗口)。keyup(函数…
与$(窗口)完全相同。bind(函数…
@T.J-true-true-修复了这个问题。谢谢关于键控/绑定的区别——我发现在处理可怕的“早期”IE家庭时,有时你必须把它们混在一起,才能从那些残骸中得到反应;)
$(document).keyup(function(e)
{
var code = (e.keyCode ? e.keyCode : e.which);
if (code == 9)
{
alert("hello world");
cellContent();
autoDate();
}
});