我想在一个键盘命令后将“mouseactive”设置为不到一秒,但是如果在该时间段内按下该键,我想取消该操作。但我似乎无法弄清楚如何做到这一点。这是我有...清除setTimeout问题
$(window).keydown(function(e) {
if (e.keyCode == 40) {
e.preventDefault();
mouseactive = false;
clearTimeout(t);
var t = setTimeout("mouseActive()",800);
} else if (e.keyCode == 38) {
e.preventDefault();
mouseactive = false;
clearTimeout(t);
var t = setTimeout("mouseActive()",800);
}
});
function mouseActive() {
mouseactive = true;
}
但是,这并不工作,它不设置mouseactive回真的......谁能告诉我什么,我做错了什么?
你不应该将字符串传递给'setTimeout',你应该传递函数。它在字符串传递时使用'eval'。 't = setTimeout(mouseActive,800);' – 2012-04-06 20:50:51
@火箭mm ..我刚刚清理了他的代码..也包括在清理中..谢谢!在清理之前,我在最初的帖子中将其作为字符串。 – 2012-04-06 20:51:30
谢谢,这个伎俩,非常感谢。 – Ian 2012-04-06 21:16:36