3

我有一个<nav>我想通过单击句柄链接来打开和关闭来显示的内容。<nav>当我单击其中一个子链接时,我还想关闭。在手柄链接和孩子上使用slideToggle都不起作用。句柄链接工作得很好,但是<nav>当您单击子链接时,它会折叠并重新打开。

jsFiddle 发生了什么:http: //jsfiddle.net/qHZe8/

提前致谢!

4

4 回答 4

3

您的<ul>元素也有 class pull,因此单击其中的一个链接也会触发click事件处理程序以再次切换元素。

您需要停止从内部链接传播的事件,<ul>以免发生这种情况。

jQuery("ul.pull li a").click(function(e) {
    e.stopPropagation();
    $("nav.mobile-navigation").slideUp("fast");
});
于 2012-05-30T15:56:04.550 回答
1

问题是您有两个带有 class 的元素pull

一种可能的解决方案是使用不同的选择器:

jQuery("a.pull").click(function() {
    $("nav.mobile-navigation").slideToggle("fast");
});

演示:http: //jsfiddle.net/qHZe8/1/

于 2012-05-30T15:55:34.193 回答
1

问题是您在 ul 和链接中使用相同的类来打开它,因此每当您单击子链接时,它都会执行这两个操作。

如果您从 ul 标签中删除该类,它应该可以工作

http://jsfiddle.net/slfede/qHZe8/2/

于 2012-05-30T15:56:20.090 回答
0

您已经为 the和句柄赋予了相同的 CSS 类 ( .pull) 。<ul>因此,单击项目也会注册为.pull处理程序的单击。正确的一个:http: //jsfiddle.net/X2A3C/

于 2012-05-30T15:57:47.847 回答