順序付けられていない()HTMLリストを使用していくつかのMultiSelect要素をスタイリングしてい<ul>
ます。この関数は、ユーザーが「dropdown_box」または「dropdown_container」以外のドキュメントをクリックしたときに要素を非表示にすることを目的としています。
この関数はタグ内では機能せず<ul>
、リスト項目がクリックされるとすぐに要素を非表示にします。との両方のIDを指定しようとしましたが、<div>
クリック<ul>
するとすぐに閉じます。
更新-問題を示すためにjsfiddleを作成しましたhttp://jsfiddle.net/chayacooper/ezxSF/16/
ほとんどの用途で要素を閉じる別のmouseleave関数がありますが、ユーザーがクリックして要素を開いたが、「UL要素」項目のいずれにもマウスを合わせなかった場合に要素を閉じるには、この機能を追加する必要があります。
JS
$('html').click(function (e) {
if (e.target.id == 'dropdown_box' || e.target.id == 'dropdown_container') {
$("#select_colors").show();
} else {
$("#select_colors").hide();
}
});
HTML
<div id="dropdown_box">Select</div>
<div id="dropdown_container">
<ul id="select_colors">
<!-- Several List Item Elements -->
</ul>
</div>