<ul id="nav_left" class="nav_left">
                <li  onclick="showDiv(this,2,'up')"><a href="#">一级标题</a>
                    <ul>
                        <li onclick="showDiv(this,2,'up')"><a href="#">二级标题</a>
                            <ul>
                                <li><a href="#">三级标题</a>
                                    <ul>
                                        <li><a href="#">...</a>
                                            <ul>
                                                <li><a href="#">N级标题</a></li>
                                            </ul>
                                        </li>
                                    </ul>
                                </li>
                            </ul>
                        </li>
                    </ul>
                </li>
<ul>请问如何在点击  二级标题  的li时不触发  一级标题li  的click事件?

解决方案 »

  1.   

    没做个阻止事件冒泡,搜了一下,这样试试
    在二级列表处加一句,这样:
    <li onclick="showDiv(this,2,'up');window.event.cancelBubble = true;">
      

  2.   

    需要将event对象传递到showDiv中<li onclick="showDiv(event,this,2,'up');">
    function showDiv(event,this,n,up){
        //......省略的代码
        if (event.stopPropagation){
            event.stopPropagation();
        }else {
            event.cancelBubble = true;
        }
    }
      

  3.   

    原理就这样,浏览器兼容要自己搜一搜
    试试:
    <li onclick="showDiv(this,2,'up');if (event.stopPropagation){event.stopPropagation();else event.cancelBubble = true;">
      

  4.   

    <style>
        ul{ display:none;border: 1px solid red;margin-left:10px}
    </style>
    <ul id="nav_left" class="nav_left" style="display: block">
        <li><a href="#">一级标题</a>
            <ul>
                <li><a href="#">二级标题</a>
                    <ul>
                        <li><a href="#">三级标题</a>
                            <ul>
                                <li><a href="#">四级</a>
                                    <ul>
                                        <li><a href="#">N级标题</a></li>
                                    </ul>
                                </li>
                            </ul>
                        </li>
                    </ul>
                </li>
            </ul>
        </li>
        <ul>
    <script type="text/javascript">
        $(document).ready(function(){
            /*
            $("li").click(function (e) {
                $(this).children("ul").slideDown(300);
                e.stopPropagation();//阻止冒泡
            });
            $("li").mouseleave(function(e){
                $(this).children("ul").slideUp(300);
            });
            */
            $("li").hover(function(){
                $(this).children("ul").slideDown(300);
            },function(){
                $(this).children("ul").slideUp(300);
            })
        })
    </script>