我有这个脚本:
$('body').click(function(evt){
var all_childs=$("#menu-js").find('*');
console.log(all_childs);
if(evt.target.id == "menu-js"){ //here should change condition
console.log(evt.target.id);
return;
}else{
if($('#menu-left').is(':visible'))
{
$("#menu-left").hide();
}else{
if(evt.target.id == "cake") {
$("#menu-left").show();
}
}
}
});
我想要的是检查是否点击了"all_child"
我将链接放到我的网站上以便更好地检查代码
我该如何处理这个条件?
提前致谢!
编辑:
代码HTML:
<div id="menu-js">
<ul id="menu-left">
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
</div>
<button id="cake">SHOW MENU</button>
答案 0 :(得分:0)
像这样检查(根据您的要求更新)
var $target = $(evt.target || evt.srcElement);
// check if the current target has a parent with id 'menu-js'
if ($target.parents("#menu-js").length > 0) {
if ($('#menu-left').is(':visible')) {
$("#menu-left").hide();
}
} else if (evt.target.id == "cake") {
$("#menu-left").show();
}
答案 1 :(得分:0)
这完全可以按你的需要工作!
以下链接指向:JsFiddle
$('body').click(function(e) {
var target = $(e.target);
console.log(target.context);
console.log(target.is(':visible'))
if(target.context.id == "menu-js"){ //here should change condition
alert(target.context.id);
}else{
if($('#menu-left').is(':visible')){
$("#menu-left").hide();
}else{
if(target.context.id == "cake") {
$("#menu-left").show();
}
}
}
});