我正在尝试创建一个简单的可折叠多级别,其中每个ul都是可折叠的。我很难弄清楚我做错了什么。 我的脚本是jsfiddle
<ul id="usernav">
<li>Manage
<ul >
<li >child11
<ul>
<li> some1</li>
<li> some2</li>
</ul>
</li>
<li>child12</li>
</ul>
</li>
<li>Subscriptions
<ul>
<li>E-Briefings</li>
<li>E-Briefings Subscriptions</li>
<li>Knowledge Briefings</li>
</ul>
</li>
<li>Media Store
<ul>
<li>Image Store</li>
<li>Document Store</li>
<li>Media Store</li>
</ul>
</li>
我的脚本是
$('#usernav').find('ul').hide();
$('li').click(function() {
$(this).children('ul').toggle();
});
答案 0 :(得分:2)
单击元素的子元素时,也会单击该元素。因此,当您点击子li
时,该事件也会触发父li
。使用stopPropagation()
可防止事件冒泡。
$('#usernav').find('ul').hide();
$('li').click(function(e) {
$(this).children('ul').toggle();
e.stopPropagation();
});