Mav*_*ven 10 html javascript css jquery
我有一个下面的菜单,可以深入到三个级别:
Main > sub > subsub
<nav>
<div class="mainMenu">Main Menu Item # 1.
<ul>
<li> Sub Menu Item # 1</li>
<li class="subMenu"> Sub Menu Item # 2
<ul>
<a href="New">
<li>New</li>
</a>
<a href="">
<li>Old</li>
</a>
<a href="">
<li>View </li>
</a>
</ul>
<div class="n_r2_c2"></div>
</li>
<li> Sub Menu Item # 3</li>
<li> Sub Menu Item # 4</li>
</ul>
</div>
Run Code Online (Sandbox Code Playgroud)
这是我的JQ:
$('.mainMenu').click(function () {
$(this).children('ul').slideToggle(250);
});
$('.subMenu').click(function () {
$(this).children('ul').slideToggle(250);
});
Run Code Online (Sandbox Code Playgroud)
问题是主菜单子菜单的子菜单切换工作正常,但当我点击子菜单中的项目而不是切换其子菜单时,它关闭自己,因为当我点击子菜单时,主菜单click
事件也被解雇了可能是因为子菜单在它里面而且它点击主要div点击它?
无论如何我如何解决这个问题,请帮忙.
Kun*_*han 17
使用event.stopPropagation()来防止事件冒泡DOM树.
例:
$('.subMenu').click(function (e) {
$(this).children('ul').slideToggle(250);
e.stopPropagation();
});
Run Code Online (Sandbox Code Playgroud)
这将解决您的问题.
归档时间: |
|
查看次数: |
7700 次 |
最近记录: |