Jquery slideToggle未应用于菜单中的子项?

时间:2014-07-31 22:59:47

标签: jquery menu parent-child slidetoggle

抱歉,我是jquery / js noob。

我有一个用于切换菜单的html结构。

<li class="topnavtopitem">
<a href="#" >Topitem</a>
    <ul class="topnavitemtoggle">
        <li class="topnavsubitem"><a href="#" >Subitem</a></li>
        <li class="topnavsubitem"><a href="#" >Subitem</a></li>
        <li class="topnavsubitem"><a href="#" >Subitem</a></li>
    </ul>                   
</li>

我的jquery是:

$(document).ready(function() {
$(".topnavtopitem").click(function() {
    $( ".topnavitemtoggle", this).slideToggle( "normal", function() {
    });
});

});

我根本无法弄清楚,当我点击一个子项目时,我是如何防止触发的滑动切换,...​​

请帮助 - 提前谢谢!

1 个答案:

答案 0 :(得分:2)

您可以使用jQuery&#39; stopPropagation()来阻止事件冒泡DOM。将其设置在.topnavsubitem元素上,以防止点击冒泡到.topnavitemtoggle

$('.topnavsubitem').on('click', function (e) {
    e.stopPropagation();
});

WORKING EXAMPLE