單擊任何位置時隱藏函數可以工作我正在設計一些選擇帶有無序()HTML列表的元素,當用戶單擊元素區域外的任何地方時,該函數應該隱藏這些元素,但由於某些原因,當用戶單擊使用jQuery UI MultiSelect Widget的元素時,它不起作用。當隱藏文檔中的任何地方,除了使用jQuery UI MultiSelect Widget
UPDATE - 我創建了一個的jsfiddle來演示該問題http://jsfiddle.net/chayacooper/ezxSF/4/點擊打開標記的項目「UL元素」 - 如果你要麼將鼠標放置任何下拉項爲「UL元素」或點擊該文檔或其他元素的工作方式與預期的一樣,但如果您單擊'多選元素'而不是將鼠標懸停在任何'UL元素'項目上,它仍然會打開。
$('html').click(function(e){
if(e.target.id == 'dropdown_box1') {
$("#select1").show();
} else {
$("#select1").hide();
}
});
我也試着創建一個單獨的函數來關閉那個元素,如果用戶點擊一個多重選擇元素,但那也不管用。
$('.multiselect').click(function() {
$("#select1").hide();
});
HTML
<div id="dropdown_box1"><span>Select</span></div>
<div class="dropdown_container" id="dropdown_container1">
<ul id="select1">
<!-- Several List Item Elements -->
</ul>
</div>
我有一個隱藏列表元素,當用戶將鼠標關閉它,但如果用戶點擊打開它,但沒有按不激發一個單獨的鼠標離開功能鼠標懸停在列表元素上。
$(document).ready(function() {
$("#dropdown_box1").click(function() {
$("#select1").show();
});
var timeoutID;
$("#select1").mouseleave(function() {
timeoutID = setTimeout(function() {
$("#select1").hide();
}, 800);
});
$("#select1").mouseenter(function() {
clearTimeout(timeoutID);
});
});
我試過了,但不幸的是,這並沒有關閉帶有選項的元素 – 2013-03-03 16:25:58
你有沒有[JSFiddle](http://www.jsfiddle.com)示例,我可以看到?可能更容易以這種方式進行調試。 – 2013-03-03 16:45:57
我剛剛創建了一個:-) http://jsfiddle.net/chayacooper/ezxSF/4/要查看問題的實際情況,請單擊以打開標記爲「UL元素」的項目,然後單擊「多選元素」(不含將鼠標懸停在「UL元素」中的任何項目上)。如果你點擊文檔或其他元素,你會發現它按預期工作 – 2013-03-03 18:00:49