1

クリックを無効にした後、もう一度クリックを戻すにはどうすればよいですか?

たとえば、ページが読み込まれたときに、メニューのクリック可能なボタンをすべてオフにしたい、

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

3秒後、オンに戻したいので、これをやっています、

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

もちろんうまくいきません!どうすればこれを修正できますか?

4

2 に答える 2

3

イベントハンドラーをバインドおよびバインド解除する方がよいでしょう

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);
于 2011-11-01T17:50:33.920 に答える
2

試してみましたか

var timeout = setTimeout(function() {
 $(".menu > ul > li > a").unbind('click').click(function(){return true;});
}, 3000 ); 
于 2011-11-01T17:51:00.663 に答える