これを行うことは可能ですか..ある期間に同じイベントが多数発生したと仮定します。以前のイベントをすべてキャンセルし、最後のイベントのみを使用します。
最後のイベントは、3秒間イベントがない場合にのみ1回だけです。
例えば。ボタンがあります。ユーザーがこのボタンを何度でもクリックできるようにし、このボタンを無効にすることはありません。ユーザーがこれを何度クリックしても、最後のクリックとして1回のクリックカウントと見なされます。クリックイベントは、3秒以内にクリックがなくなると実行されます。
これを行うことは可能ですか..ある期間に同じイベントが多数発生したと仮定します。以前のイベントをすべてキャンセルし、最後のイベントのみを使用します。
最後のイベントは、3秒間イベントがない場合にのみ1回だけです。
例えば。ボタンがあります。ユーザーがこのボタンを何度でもクリックできるようにし、このボタンを無効にすることはありません。ユーザーがこれを何度クリックしても、最後のクリックとして1回のクリックカウントと見なされます。クリックイベントは、3秒以内にクリックがなくなると実行されます。
あなたが探しているものはデバウンスとして知られています。このタスクのために、BenAlmanからのすばらしいプラグイン/ライブラリがすでにあります。
(function() {
var button = document.getElementsByTagName("button")[0],
func = Cowboy.debounce(1000, function() { console.log("click fired!"); });
button.addEventListener("click", func);
}())
var domButton = document.getElementById('some-button'),
timeOut;
domButton.addEventListener('click', function(e) {
if (e.clientX && e.clientY) {
e.preventDefault();
clearTimeout(timeOut);
timeOut=setTimeout(function({document.getElementById('somebutton').click()},3000);
}
},false)