首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery:不要处理嵌入式列表的“单击”事件

jQuery:不要处理嵌入式列表的“单击”事件
EN

Stack Overflow用户
提问于 2015-10-13 14:43:53
回答 1查看 81关注 0票数 0

当我单击子菜单链接时,这个子菜单会崩溃(在链接打开之前就可以看到)。

如何在不向子菜单中添加类的情况下防止这种情况发生?只有在单击父元素时,我才希望子菜单展开和折叠。

我尝试添加子元素和选择器的测试条件,但没有帮助。

我有这样的代码:

代码语言:javascript
复制
jQuery(document).ready(function() {
  jQuery("#nav > li > ul").hide(); // hide all

  jQuery('ul#nav li').on('click', function() {
    jQuery(this).find('ul').slideToggle("slow");
  })
});
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<ul id="nav">
  <li>Parent-1
    <ul>
      <li><a href="#">Link-1</a>
      </li>
      <li><a href="#">Link-2</a>
      </li>
      <li><a href="#">Link-3</a>
      </li>
    </ul>
  </li>
  <li>Parent-2
    <ul>
      <li><a href="#">Link-1</a>
      </li>
      <li><a href="#">Link-2</a>
      </li>
      <li><a href="#">Link-3</a>
      </li>
    </ul>
  </li>
</ul>

我将非常感谢您的帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-13 14:50:42

将此添加到您的代码中:当访问者单击菜单链接时,它将防止父ULs崩溃:

代码语言:javascript
复制
jQuery('ul#nav li a').on('click', function(e) {
    e.stopPropagation();
});

演示:https://jsfiddle.net/s38tygh4/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33105680

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档