Lee*_*Lee 2 jquery click show-hide
我想为点击的每个列表元素构建一个简单的菜单,但是一旦你点击它就隐藏了这个div.这是一些简单的代码,希望有意义.
$('.drillFolder').click(function(){
var id = $(this).attr('data-folder');
$(".drillDownFolder ul li > a").attr('data-id', id);
$(".drillDownFolder").show();
});
$("body").click(function(e){
if(e.target.className !== "drillDownFolder")
{
$(".drillDownFolder").hide();
}
});
//The hidden div
<div class="drillDownFolder" style="display:none">
<ul>
<li><a href="#" data-id="">Show Image</a></li>
<li><a href="#" data-id="">Edit Image</a></li>
</ul>
</div>
Run Code Online (Sandbox Code Playgroud)
我知道什么是错的,因为菜单是通过.drillFolder链接显示的,然后是主体点击然后立即隐藏它.我怎么能避免这种情况.
谢谢你,如果你能提出建议
您可以使用stopPropagation()阻止click事件传播出.drillFolder回调.
$('.drillFolder').click(function(event){
event.stopPropagation();
var id = $(this).attr('data-folder');
$(".drillDownFolder ul li > a").attr('data-id', id);
$(".drillDownFolder").show();
});
$("body").click(function(e){
$(".drillDownFolder").hide();
});
Run Code Online (Sandbox Code Playgroud)