2010-11-29 9 views

答えて

1

:つまり

$(<the div you want hidden>).click(false); //stop click event from bubbling up to the document 
$(document).one('click', function(){ 
    $(<the div you want hidden>).hide(); //which will hide the div 
}); 

を、このコードは、「あなたがこのページをクリックした場合は、div要素をクリックしない限り、div要素を隠し」と言います。

日時:ええと、 `.oneは()`引数として `eventType`にかかる

$('button').click(function(){ 
    $('div').toggle(); 
}); 
$('div').click(false); 
$(document).click(function(){ 
    $('div').hide(); 
    //reset the toggle state, e.g. 
    $('button').removeClass('selected'); 
}); 
+0

トグルボタンがあります。トグルすると表示され、divを非表示にします。それ以外は、divの外のどこかをクリックするとdivを非表示にしたい。私はtwitter.comでtwitter 'Sign In'ボタンのようなものを作成しようとしています – ptamzz

+0

私はそれを助けるために私の答えを更新しました。 –

+0

トグル状態をリセットすることができますか?ある要素をクリックした後、別の要素をクリックすると、トグル状態が最初の要素にリセットされるはずです。ありがとう:) – ptamzz

6
$('#mydiv').click(function(e) { e.stopImmediatePropagation(); }); 
$(document.body).one("click", function() { 
    $('#mydiv').hide(); 
}); 

mydivbody要素の子であるので、あなたはその要素をクリックすると、要素がdissappearだろうと望んでいません。
mydivをクリックすると、body要素にバブリングが止まるようにしたいので、最初にmydivにクリックイベントを登録し、バブリングを停止するように指示するのはなぜですか。あなたは、最新のjQuery、V1.4.4使用していると仮定すると、

+0

:トグルボタン

次に、あなたのようなものがあるでしょう。ここで、あなたは一度縛っているイベントは何ですか? –

+0

修正済み。 Clickイベントへのバインディング。 – Gidon

関連する問題