我有一個DIV(sel_optn1
)和我顯示sel_optn1
李(opt1
) 的點擊和隱藏sel_optn1
出sel_optn1
側點擊。
它工作正常,但如果我點擊sel_optn1
的孩子,它是隱藏的。jQuery的隱藏的div點擊不包括其子格
我只想對出側點擊隱藏sel_optn1
,而是從隱藏sel_optn1
看到這個例子我試圖http://jsbin.com/ahuyak/1/edit
任何一個可以幫助我實現這個排除sel_optn1
孩子的點擊。
我有一個DIV(sel_optn1
)和我顯示sel_optn1
李(opt1
) 的點擊和隱藏sel_optn1
出sel_optn1
側點擊。
它工作正常,但如果我點擊sel_optn1
的孩子,它是隱藏的。jQuery的隱藏的div點擊不包括其子格
我只想對出側點擊隱藏sel_optn1
,而是從隱藏sel_optn1
看到這個例子我試圖http://jsbin.com/ahuyak/1/edit
任何一個可以幫助我實現這個排除sel_optn1
孩子的點擊。
更新您的檢查功能,檢查其子元素的點擊次數,以及:
if(e.target.className !== "sel_optn1" && !$(e.target).parents('.sel_optn1').length)
如果我有n個孩子,該怎麼辦? –
然後,您需要檢查點擊是否在具有sel_optn1父/祖的元素上:'if(e.target.className!==「sel_optn1」&&!$(e.target).parents('。 sel_optn1')。length)' – kayen
是的,它的工作,非常感謝。 –
只是檢查,如果點擊的目標是在元素
if(e.target.className !== "sel_optn1" && !$.contains($(".sel_optn1")[0], e.target))
{
$('.sel_optn1').css({"display":'none'});
}
div(sel_optn1).children().click(function(){stopPropagation ();})
如何處理我,如果有兒童事件?太。 –
這是針對sel_optn1的兒童的,但這並不意味着您無法單獨爲兒童舉辦活動。 – Rajiv007
您可以嘗試blur
代替:http://jsbin.com/ahuyak/12/edit
$(document).ready(function(){
$("#opt1").click(function(e){
$('.sel_optn1 , :text').show();
e.stopPropagation();
});
$('.sel_optn1 > :text').blur(function(e){
$('.sel_optn1 , :text').hide();
e.stopPropagation();
});
});
我綁定在文檔單擊事件,並檢查是否被點擊的對象是.sel_optn1
,然後我綁定在文檔單擊事件,如果它.sel_optn1
或任何其子女的檢查它的目標,不要隱藏它:
$(document).ready(function(){
var option = $(".sel_optn1");
$("#opt1").click(function(e){
e.stopImmediatePropagation();
option.toggle();
});
$(document).click(function(e){
var target = $(e.target);
if(!(target.is(option) || option.find(target).length)){
option.hide();
}
});
});
看到這個:http://help.dottoro.com/ljgfjsxd.php – karaxuna
看到這個:http://jsbin.com/ahuyak/7/edit – Anujith