我有一个简单的jQuery代码,如下所示:
$( "#resp-navigation" ).one("click", function() {
$( "#navigation" ).slideToggle(500);
});
我的HTML看起来像这样:
<div id="resp-navigation"> ... </div>
<nav id="navigation"> ... </nav>
我的问题是,当我点击#resp-navigation div时,#navigation会继续切换。有谁知道为什么?
感谢。
答案 0 :(得分:3)
如果您打算使用&#39;#navigation&#39;每次有人点击&#39;#resp-navigation&#39; div,然后:
这:$( "#resp-navigation" ).one
应该是:$( "#resp-navigation" ).on
然后它在这个小提琴中工作正常:
但是,如果您打算只使用&#39;#navigation&#39; div切换一次(所以它消失了,不能再显示),那么你的代码完全没有修改,正如你在这个小提琴中看到的那样:
答案 1 :(得分:0)
正如@trevor所说,它应该是(&#39;点击&#39;),而不是一个(&#39;点击&#39;)。
如果你看到ping ponging我的猜测是你在代码中的其他地方分配了另一个点击监听器,它正在做同样的事情。
答案 2 :(得分:0)
因为您使用的是.one(*)。使用类似<div class="willhover class1">Class 1</div>
<div class="willhover class2">Class 2</div>
的方法可以进行多次点击。