辦法一:
第一,先實現點擊任何地方都隱藏該元素(假設id="bar")
$(document).click(function(){
$("#bar").hide();
});
第二,點擊特定元素不隱藏
那么bar也屬於document,點擊bar也會讓自己隱藏,顯然這不是想要的,這時候要阻止冒泡事件,即document的事件對bar無效
$("#bar").click(function(event){
event.stopPropagation();
});
辦法二:
$(document).click(
function
(e){
if
($(e.target).find(
'.select_box'
).length !== 0 ){
// 如果 你點擊的這個元素 里面包含 select_box (也就是查找出來的dom 數量不是0)
// 就執行你需要隱藏的方法 當你點擊的元素是select_box 或者他里面的元素 時候,
// 里面肯定不會 包含 select_box 也就不會執行 隱藏的方法
if
($(
".option"
).css(
'display'
)==
'block'
){
$(
".option"
).hide();
}
}
});