我想向用户显示一个弹出窗口,如果他在网页上没有做任何鼠标点击/键盘按下/鼠标滚动
我有什么方法可以使用javascript跟踪这个吗?
答案 0 :(得分:2)
var timeout = false;
function checkActivity() {
clearTimeout(timeout);
timeout = setTimeout(function () { alert('inactive'); }, AmountOfTime);
}
document.addEventListener('keydown', checkActivity);
document.addEventListener('mousedown', checkActivity);
document.addEventListener('mousemove', checkActivity);
checkActivity();
这样做是在AmountOfTime
毫秒后运行一个函数。它会在文档上的任何用户活动中重置。
答案 1 :(得分:0)
您可以在JavaScript中处理Keyboard Events和Mouse Events。
您可以让计时器倒计时到应该向用户显示该消息,并在您获得符合条件的事件时重置计时器。
答案 2 :(得分:0)
如果用户空闲,您可以使用此(库)[https://github.com/mikesherov/jquery-idletimer]来检测。
示例:
$(document).on('idle.idleTimer', function() {
//do something on idle;
});
$(document).on('active.idleTimer', function() {
//so something on activity;
});
$(document).idleTimer(1000, {
startImmediately: false,
idle: true,
enabled: true,
events: 'keydown' //there are more events in the docs;
});