Как я могу вернуть щелчок еще раз после его отключения?

#jquery #onclick #bind #unbind

#jquery #onclick #привязка #отменить привязку

Вопрос:

Как я могу вернуть щелчок еще раз после его отключения?

Например, когда страница загружается, я хочу отключить все интерактивные кнопки в меню,

 $(".menu > ul > li > a").click(function(){return false;});
 

через 3 секунды я хочу снова включить их, поэтому я делаю это,

 var timeout = setTimeout(function() {
     $(".menu > ul > li > a").click(function(){return true;});
}, 3000 ); 
 

конечно, это не работает! Как я могу это исправить?

Ответ №1:

Вам было бы лучше привязать и отменить привязку обработчика событий

http://api.jquery.com/unbind/

 var handler = function() {
    return false;
};
$(".menu > ul > li > a").bind('click', handler);
var timeout = setTimeout(function() {
    $(".menu > ul > li > a").unbind('click', handler);
}, 3000);
 

Ответ №2:

Вы пробовали

 var timeout = setTimeout(function() {
 $(".menu > ul > li > a").unbind('click').click(function(){return true;});
}, 3000 );