我有一系列按钮。让我们称它们为A,B,C。我将切换方法附加到这些按钮上。当我单击A时,将显示带有一些信息的div。如果我再次单击A,则此div将被删除。当我单击B时,删除与A相关的div [如果仍然打开],则显示与B相关的新div。这只是我们在许多网站上看到的基本切换。
但是,当我单击A,然后再单击B然后再单击A时,A将单击2次以显示其div。那是因为切换中的第二个功能是因为它仍在队列中而被触发。
看看这段代码。我只是在这里更改按钮的文本以进行演示。
如何防止它点击2次?
答案 0 :(得分:0)
那是因为.toggle
保持您正在切换的项目的状态,并且不同按钮的状态不相关
答案 1 :(得分:0)
使用toggle
这样的“天真”使用,你将无法达到理想的行为。你需要做的是“记住”每个按钮的状态,这样你就可以在点击时做出相应的反应。由于反应几乎总是涉及应用样式,因此使用HTML类也是记住状态的好选择(您可以重用该类进行样式化)。
查看示例here。
答案 2 :(得分:0)
您需要将单击事件绑定到按钮并相应地更改文本,而不是使用切换。我会用.each()