【发布时间】:2015-12-04 21:42:14
【问题描述】:
我的页面上有多个切换元素。单击 div 元素的外部时,我试图将它们关闭。我现在拥有的脚本可以很好地处理多个元素,但是在单击 div 内部时它也会关闭 div
<ul>
<li class="menuContainer">
<a class="top" href="#">Menu</a>
<div class="sub">
<a class="top" href="google.com">item in dropdown menu with valid url when clicked here div.sub should stay close</a>
</div>
</li>
<li class="menuContainer">
<a class="top" href="#">Menu</a>
<div class="sub">
<a class="top" href="#">item in dropdown menu when clicked here div.sub should stay open</a>
</div>
</li>
$(document).ready(function(){
$('li.menuContainer').each(function() {
var $dropdown = $(this);
$("a.top", $dropdown).click(function(e) {
e.preventDefault();
$div = $("div.sub", $dropdown);
$div.toggle();
$("li.menuContainer div.sub").not($div).hide();
$( "#effect" ).hide();
return false;
});
$("li.menuContainer div.sub").on("click", function (event) {
event.stopPropagation();
});
});
$(document).on("click", function (){
$("li.menuContainer div.sub").hide();
});
});
我想要做的是在其中单击时停止关闭 div。有什么帮助吗?
【问题讨论】:
-
你能发布一个小提琴或一个链接到你的页面吗?
标签: javascript jquery html css