キーダウンやクリックが10秒間ないかどうかを知る必要があります。アラートウィンドウを表示する場合、単純なjsより効率的であればjqueryを使用できます。秒数のキーダウンがない場合のアラートウィンドウ?
私はそれをどのように行うことができますか?このような感謝
キーダウンやクリックが10秒間ないかどうかを知る必要があります。アラートウィンドウを表示する場合、単純なjsより効率的であればjqueryを使用できます。秒数のキーダウンがない場合のアラートウィンドウ?
私はそれをどのように行うことができますか?このような感謝
何か:それはあなたがKeyDownイベントリスナーの文書に何かを結合しなかったと仮定し
(function(){
var timer;
function resetTimer(){
clearTimeout(timer);
timer = setTimeout(function(){
alert('No keydown for 10 seconds');
// Call reset timer here if you want the timer to start again
// when the alert is closed
// Otherwise, if you want to stop the timer forever,
// remove the event handler from document.onkeydown
}, 10000);
}
resetTimer();
document.onkeydown = resetTimer;
})();
。あなたがそれを持っているならば、代わりにaddEventListener
とattachEvent
を使うべきです。
これは完璧なおかげで動作します – lisovaccaro
効率的な各keydownの設定/クリアタイムアウトはありますか?つまり、誰かがタイピングしているときに、たくさんのタイマーが作成/クリアされています。 – Li0liQ
@ Li0liQ Chromeのラップトップコンピュータでは、resetTimer()関数は約350,000回/秒を実行できます。誰かがそれを速く入力することができれば、それは恐ろしいことです:P。良いことは、ユーザーがアイドル状態であっても、CPUを占有するのではなく、アイドル状態のときにアイドル状態になることです。 – Paulpro
var seconds = 0;
window.setInterval(function() {
seconds++;
if(seconds == 10) {
alert("No keydown or click in 10 seconds");
}
}, 1000);
$('body').live('click keydown', function(e) {
e.preventDefault();
seconds = 0;
});
jQueryが必要です。キー/クリックが発生したかどうかを追跡するための変数を設定
var action_happened = false;
!action_happened
にアラートが表示されます。action_happened = true;
action_happened = true;
を設定した後で効率を上げたい場合は、クリック/キー押しハンドラを削除します。それはオプションですが、このステップがないと効率的です。
実行時に最も効率的なコーディングプロセスまたは最も効率的なコードについて質問していますか? – nnnnnn
hah申し訳ありませんが、私は何を言おうとしたのか分かりません。私はちょうどそれをgoogled、私はそれがランタイムで最も効率的だと思います – lisovaccaro