如何检测该用户对此事件的“X”分钟和运行功能没有做任何操作?
E.G。
if( // no action from user for 'X' minutes) { //do stuff }
??
任何建议都非常感谢。
答案 0 :(得分:17)
<强> Live Demo 强>
与其他人一样,使用setTimeout
并将其设置为所需的等待时间。如果有任何活动,只需使用clearTimeout
清除超时。
// If theres no activity for 5 seconds do something
var activityTimeout = setTimeout(inActive, 5000);
function resetActive(){
$(document.body).attr('class', 'active');
clearTimeout(activityTimeout);
activityTimeout = setTimeout(inActive, 5000);
}
// No activity do something.
function inActive(){
$(document.body).attr('class', 'inactive');
}
// Check for mousemove, could add other events here such as checking for key presses ect.
$(document).bind('mousemove', function(){resetActive()});
答案 1 :(得分:6)
设置X
分钟的超时时间。
在<body>
的keydown和mousemove事件中,清除超时并重新设置。