我的 jQuery 代码不能在 IE 9 中运行,但在 IE7、IE8、Chrome、FF 中运行良好。
这是我的代码:
$(document).keypress(function(){
window.clearTimeout();
window.setTimeout(function() {
//Do something...
return false;
}, 800);
});
我的 jQuery 代码不能在 IE 9 中运行,但在 IE7、IE8、Chrome、FF 中运行良好。
这是我的代码:
$(document).keypress(function(){
window.clearTimeout();
window.setTimeout(function() {
//Do something...
return false;
}, 800);
});
换成keydown试试,和电脑不一样,但应该能达到一样的效果
从一个教程:
为了了解 keydown 和 keypress 之间的区别,了解“字符”和“键”之间的区别很有用。“键”是计算机键盘上的物理按钮,而“字符”是通过按下按钮键入的符号。理论上,keydown 和 keyup 事件代表按键被按下或释放,而 keypress 事件代表一个字符被输入。该理论的实现在所有浏览器中并不相同。
删除window.clearTimeout()
或给它一个参数。IE9错误地需要它。
$(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);
});
根据this最好使用keydown()
而不是keypress()
在IE上