我试图在此Demo上使用jQuery和简单CSS创建下拉菜单列表,滑动效果很好,但我不知道为什么单击功能也会刷新页面(当您查看
  这是我的代码:

<style>
.musthidden{display:none;}
</style>

<ul>
    <li><a href="#">One</a></li>
    <li id="two"><a href="#">Two</a>
                  <ul class="musthidden">
                    <li><a href="#">Two _ 1</a></li>
                    <li><a href="#">Two _ 2</a></li>
                    <li><a href="#">Two _ 3</a></li>
                    <li><a href="#">Two _ 4</a></li>
                  </ul>
    </li>
    <li><a href="#">Three</a></li>
    <li><a href="#">Four</a></li>
</ul>

<script>
 $("#two").on("click",function(){
    $(".musthidden").slideToggle();
 });
</script>


您能告诉我为什么会这样吗?

最佳答案

点击功能应为:

$("#two").on("click",function(e){
    e.preventDefault();
    $(".musthidden").slideToggle();
 });


e.preventDefault()说:不要执行绑定到该事件的任何其他功能,请在点击该功能后停止。因此,以后不应该执行任何操作。

e是通过click事件发送的事件对象,大多数其他事件也具有e

无需任何刷新即可查看更新的fiddle

07-25 21:05