ユーザーの活動をログに記録したい。StackOverflow に関する他のユーザーの回答によると、小さな jQuery ライブラリを作成しました。
var stop_timeout = false;
$(window).blur(function(){
elvis('left the building since ');
}).focus(function(){
elvis('come back now:');
}).mousemove(function() {
zima();
}).keyup(function() {
zima();
});
function elvis(ce) {
var now=new Date();
$('.showMe').append('Elvis ' + ce + now.getHours() + ':' + now.getMinutes() +':'+now.getSeconds()+'<br>');
}
function zima() {
clearTimeout(stop_timeout);
stop_timeout = setTimeout(function() {
$('.showMe').append('No activity since 10 seconds...<br>');
}, 10000);
}
およびhtml:
<input type="text" size="20">
<div class="showMe"></div>
コードは問題なく動作しており、明らかに、window をぼかしたりフォーカスしたりしても、mousemove および keyup イベントが発生します。私が必要とするのは、$(window).focus() でのみ mousemove と keyup を起動することです
ありがとうございました !
編集: また、ここで Jfiddle を作成しました: http://jsfiddle.net/6RLBQ/5/