我在这里搜索并找到了一个快速的解决方案,当用户在页面上空闲时调用一个动作.它基本上适用于所有浏览器.
但是当我在页面上使用警报或确认对话框时,Google Chrome上会出现奇怪的问题.
警报或确认框消失后(按下"确定","取消"或"交叉"),空闲功能意外工作.
在FF,IE和Chrome上测试(最新).它只发生在Chrome上.
我的代码在这里:http: //jsbin.com/ifule3
window.onload = idleTimer;
function idleTimer() {
var idleDuration;
document.onmousemove = idleReset;
function idleReset() {
if (idleDuration) {
clearTimeout(idleDuration);
idleDuration = 0;
}
idleDuration = setTimeout(function() {
alert('3 seconds passed.');
}, 3000)
}
};
<a onclick="if(confirm( '?' )) { alert('Ok Pressed.') } else { return false; };">First Link!</a>
<a onclick="alert('test');" >Second Link!</a>
Run Code Online (Sandbox Code Playgroud)
看来我的解释还不够:/
我用jQuery改变了代码;
jQuery(document).ready(function() {
var idleDuration;
jQuery(document).mousemove(function() {
if (idleDuration) {
clearTimeout(idleDuration);
idleDuration = 0;
}
idleDuration = setTimeout(function() …Run Code Online (Sandbox Code Playgroud)