我正在使用无序 ( <ul>
) HTML 列表设置一些 MultiSelect 元素的样式,并且此功能旨在在用户单击文档上除“dropdown_box”或“dropdown_container”之外的任何位置时隐藏元素。
该功能不适用于<ul>
标签中的任何内容,并且一旦单击列表项,它就会隐藏元素。我已经尝试同时指定 the 和 the 的 id<div>
并且<ul>
它仍然会在单击后立即关闭。
更新 -我创建了一个 jsfiddle 来演示问题http://jsfiddle.net/chayacooper/ezxSF/16/
有一个单独的 mouseleave 函数可以在大多数情况下关闭元素,但是如果用户单击以将其打开但未将鼠标悬停在任何“UL Element”项目上,我需要添加此功能以关闭该元素。
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>