我有一个Web应用程序,当用户登录时,如果用户不做任何事情来警告他即将注销,我想在一段时间后显示一个弹出窗口。
所以我使用了间隔,并在每次用户交互时重置它:
$(this).mousedown(function () {
reset();
});
$(this).mousemove(function () {
reset();
});
$(this).scroll(function () {
reset();
});
$(this).mouseup(function () {
reset();
});
$(this).click(function () {
reset();
});
$(this).keypress(function () {
reset();
});
但在某些情况下,计时器不会重置,当用户仍在使用应用程序时,弹出窗口会显示出来,例如在div中滚动时。
我是否必须将重置函数添加到应用程序中所有可能的事件中,或者是否有更简单的方法来检测任何交互?
2条答案
按热度按时间zf2sa74q1#
涵盖所有机器类型(PC、平板电脑/手机(触摸设备)、无鼠标的PC..)
在body标签上添加以下事件的重置:
我相信这应该包括所有活动
wh6knrhe2#
我同意上面的答案,但在我的情况下,我没有JQuery。
我也会监听touchstart和click。此外,我还使用debounce来等待所有交互停止一秒钟。