我正在寻找一个javascript或jQuery函数来执行我的函数newalert(),如果用户在页面上没有活动,(可能有一些事件来检查光标位置或类似的东西)
我将使用settimeout进行自动检查,我只想让功能在gmail聊天中检查用户的可用性,当收到新的IM并且你没有看到gmail页面时,它会发出哔哔声。
由于
答案 0 :(得分:5)
尝试使用window.onblur
事件,或者您可以使用连续运行的计时器,当鼠标位置相同x毫秒时,执行该功能。
示例:
var lastX, lastY = 0;
var act_timeout = null;
function doAction() {
alert( 'not active' );
return false;
}
function move( e ) {
if( e.clientY == lastY && e.clientX == lastX ) {
act_timeout = setTimeout( doAction, 5000 );
return;
}
lastX = e.clientX;
lastY = e.clientY;
act_timeout = clearTimeout( act_timeout );
}
window.onmousemove = move;
window.onblur = doAction;
答案 1 :(得分:3)
您首先需要确定用户处于活动状态和活动状态的含义。显而易见的不活动迹象包括窗口blur
事件,但您可能希望查看其他事件
blur
事件Quirksmode提供了一个很好的鼠标事件清单及其警告。
一旦确定了不活动的含义,您就可以在发生相反的事件时清除您的计时器(移动/点击/滚动鼠标,关注窗口,接收键盘事件等)。