0

keyupDom イベント ( ) が一定時間内に特定の回数発生した場合に通知を受け取ろうとしています。時間枠内のイベントを破棄するスロットルがあることがわかりました。それらをカウントしたいと思います。たとえば、keyupイベントが 500 ミリ秒以内にテキスト ボックスに対して 10 回発生した場合にのみ通知を受け取りたいとします。

4

2 に答える 2

0

クリックのタイムスタンプを保存し、10 クリック前のクリックのタイムスタンプを現在のタイムスタンプと比較することで、これを実現できます。

(ここではjQueryを使用していると仮定します)

var timestamps = [];
$('.watched').click(function() {
  var now = (new Date).getTime();
  // add the current timestamp in front of the other timestamps
  timestamps.unshift(now);
  if (timestamps.length > 10 && (now - timestamps[10]) < 500) {
    // do whatever you really wanted to do
    clickedTenTimes()
  }
  // clean unneeded timestamps
  while (timestamps.length > 10) timestamps.pop()
});
于 2012-06-21T19:54:21.020 に答える