Q:

Как задать интервал между возможностью применения события?

Как задать интервал между возможностью применения события?
Например чтобы после нажатия на div следующее нажатие можно было повторить только через 3 секунды
https://jsfiddle.net/nnj4m728/1/

$('div').click(function(){
 alert(665);
});
div {
 height: 200px;
 background: #000;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div></div>

A:

Можно установить булевый флаг, отображающий возможность клика. После этого биндим на клик запрет повторного клика, а через задержку setTimeout() возращаем эту возможность:

$('div').each(function() {
  var clickable = true; // флаг
  $(this).on('click', function() {
    if (clickable) { // если кликабельно
      clickable = false; // запрещаем клик
      alert('665'); // ваш код для выполнения по клику
      setTimeout(function() { // запускаем таймаут
        clickable = true; // возвращаем кликабельность
      }, 3000); // задержка в миллисекундах
    }
  });
});
div {
  height: 200px;
  background: #000;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div></div>

Вариант #2: определять кликабельность наличием/отсутствием класс. Реализация практическая такая же, как и с флагом:

$('div').on('click', function() {
  var div = $(this);
  if (!div.hasClass('disabled')) { // если не заблокировано
    div.addClass('disabled'); // запрещаем клик
    alert('665'); // ваш код для выполнения по клику
    setTimeout(function() { // запускаем таймаут
      div.removeClass('disabled'); // возвращаем кликабельность
    }, 3000); // задержка в миллисекундах
  }
});
div {
  height: 200px;
  background: #000;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div></div>

Вариант #3: блокировать клик через CSS, используя свойство pointer-events:none:

$('div').on('click', function() {
  var div = $(this);
  div.addClass('disabled'); // запрещаем клик
  alert('665'); // ваш код для выполнения по клику
  setTimeout(function() { // запускаем таймаут
    div.removeClass('disabled'); // возвращаем кликабельность
  }, 3000); // задержка в миллисекундах
});
div {
  height: 200px;
  background: #000;
}

div.disabled {
  pointer-events: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div></div>

