我的jQuery代码在IE 9中不起作用,但在IE7,IE8,Chrome,FF中运行良好。
这是我的代码:
$(document).keypress(function(){
window.clearTimeout();
window.setTimeout(function() {
//Do something...
return false;
}, 800);
});
答案 0 :(得分:3)
尝试切换到与计算机不同的keydown,但应达到相同的效果
从教程:
为了理解keydown和keypress之间的区别,理解一个"字符"之间的区别是有用的。和一个"键"。 A"键"是计算机键盘上的一个物理按钮,而一个"字符"是按下按钮键入的符号。理论上,keydown和keyup事件表示按下或释放的键,而keypress事件表示键入的字符。在所有浏览器中,该理论的实现并不相同。
答案 1 :(得分:1)
删除window.clearTimeout()
或为其指定参数。 IE9 incorrectly requires它。
$(document).keypress(function(){
//window.clearTimeout();
window.setTimeout(function() {
alert("Worky!");
return false;
}, 800);
});
或
var timeout;
$(document).keypress(function(){
window.clearTimeout(timeout);
timeout = window.setTimeout(function() {
alert("Worky!");
return false;
}, 800);
});
答案 2 :(得分:0)
根据this最好在IE上使用keydown()
代替keypress()