2つのdiv要素で構成される非常に単純なjQueryの "ドロップダウンリスト"を作成しました。最初のdivをクリックすると、2番目のdivが表示されます。今度は、divの外側をクリックすると、2番目のdivが再び閉じられるようにします。しかし、私がすることはできません(と、それは必要ではない場合、実際にしたくない)このようなdocument-または身体・イベント・リスナーを使用します。文書/ボディーイベントリスナーなしでクリックしたときに要素を隠す
$('#div2').click(function(e) {
doSomething();
e.stopPropagation();
});
$(document).click(function() {
$("#div2").hide();
});
理由:私が使用してページ上の他の要素を持っていますe.stopPropagation();
とし、ドロップダウンを開いた後にユーザーがこれらの要素をクリックした場合、再び閉じることはありません。
e.stopPropagation();
をクリックしてもドロップダウンを閉じるために何らかの形で処理されたこのプラグインjalDropdownが見つかりました。ページやブラウザの外のどこかであっても、ドキュメント/ body-event-リスナー:http://india.assigninfo.com/assignlabs/jaldropdown
嫌なことに、Operaで動作しないので、使用できません。そして私は最小化されていないソースコードのバージョンを見つけられなかったので、どのように動作するかを知ることができませんでした。
ドキュメント/ボディイベントリスナーなしで要素、ページ、またはブラウザの外をクリックすると、ドロップダウンが閉じられる(要素が非表示になる)ように、この動作を実現する方法はありますか?ありがとう!今
はい、これは簡単に行うことができます。 Lemmeは私が書いた、あなた自身のために使ういくつかのユーティリティメソッドをつかまえます。 –