切换function需要2次点击

我有一系列按钮。 让我们称它们为A,B,C。我将切换方法附加到这些按钮上。 当我单击A时,将显示带有一些信息的div。 如果我再次单击A,则此div将被删除。 当我单击B时,删除与A相关的div [如果仍然打开],则显示与B相关的新div。 这只是我们在许多网站上看到的基本切换。

但是,当我单击A,然后再单击B,然后再单击A时,A将单击2次以显示其div。 那是因为切换中的第二个function是因为它仍在队列中而被触发。

看看这段代码。 我只是在这里更改按钮的文本进行演示。

http://jsfiddle.net/BxFqf/

如何防止它点击2次?

您需要将单击事件绑定到按钮并相应地更改tet而不是使用切换。 我会用.each()

这是因为.toggle保持您正在切换的项目的状态,并且不同按钮的状态不相关

通过“天真地”使用这样的toggle ,您将无法实现所需的行为。 你需要做的是“记住”每个按钮的状态,这样你就可以在点击时做出相应的反应。 由于反应几乎总是涉及应用样式,因此使用HTML类也是记住状态的好选择(您可以重用该类进行样式化)。

在这里查看示例。