Основная задержка в jquery.click function

У меня есть самая простая функция jquery из всех, но я не мог найти способ в документации, чтобы вызвать содержимое этой функции щелчка после того, как скажет 1500 миллисекунд:

$('.masonryRecall').click(function(){
  $('#mainContent').masonry();
 });

P.S. просто заметила функцию .delay jquery 1.4, хотя, я использую версию 1.3. Я не знаю, будет ли обновление этого мешать любому другому javascript, который у меня есть.

Ответ 1

Вы можете сделать это с помощью обычного javascript, используя setTimeout().

$('.masonryRecall').click(function(){
        setTimeout("$('#mainContent').masonry()", 1500);
    });

Ответ 2

Обычно вы должны избегать строковых литералов в setTimeout/setInterval. Вместо этого используйте закрытие:

setTimeout(function(){ $('#mainContent').masonry(); }, 1500);`

и даже лучше использовать его так (обратите внимание: внешнее закрытие действительно не нужно):

(function($){
    var timeout=null;
    $('.masonryRecall').click(function(){
        clearTimeout(timeout);
        timeout=setTimeout(function(){$('#mainContent').masonry();}, 1500);
    });
}(jQuery));