我需要知道10秒钟内是否有没有键盘或点击,如果有,则显示警告窗口,如果它比简单的js更有效,我可以使用jquery。
我该怎么办?感谢
答案 0 :(得分:5)
这样的事情:
(function(){
var timer;
function resetTimer(){
clearTimeout(timer);
timer = setTimeout(function(){
alert('No keydown for 10 seconds');
// Call reset timer here if you want the timer to start again
// when the alert is closed
// Otherwise, if you want to stop the timer forever,
// remove the event handler from document.onkeydown
}, 10000);
}
resetTimer();
document.onkeydown = resetTimer;
})();
它假设您没有将任何其他内容绑定到文件keydown侦听器。如果您有,那么您应该使用addEventListener
和attachEvent
代替。
答案 1 :(得分:2)
var seconds = 0;
window.setInterval(function() {
seconds++;
if(seconds == 10) {
alert("No keydown or click in 10 seconds");
}
}, 1000);
$('body').live('click keydown', function(e) {
e.preventDefault();
seconds = 0;
});
必须有jQuery。
答案 2 :(得分:0)
var action_happened = false;
!action_happened
则显示警告。action_happened = true;
action_happened = true;
后删除点击/按键处理程序。这是可选的,如果没有这一步,它就会非常有效。