Jquery 需要2次点击的切换功能

Jquery 需要2次点击的切换功能,jquery,Jquery,我有一系列的按钮。让我们称它们为A、B、C。我将切换方法附加到这些按钮上。当我点击一个按钮时,会显示一个包含一些信息的div。如果我再次单击A,此div将被删除。单击B时,与A相关的div被删除[如果仍然打开],并显示与B相关的新div。这只是我们在许多网站上看到的基本切换 但是,当我再次单击A、B和A时,A将需要2次单击以显示其div。这是因为切换中的第二个函数在它仍在队列中时被触发 看看这个代码。我只是在这里更改按钮的文本用于演示 如何防止它点击两次?这是因为。toggle保持您正在切换的

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

但是,当我再次单击A、B和A时,A将需要2次单击以显示其div。这是因为切换中的第二个函数在它仍在队列中时被触发

看看这个代码。我只是在这里更改按钮的文本用于演示


如何防止它点击两次?

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

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


参见示例。

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

谢谢,但我不能通过简单的类更改来实现我所需要的,因为它涉及到添加一些HTML。使用您给出的同一个示例,您是否可以对其进行编辑,以使按钮的文本发生更改或仅更改CSS样式以外的其他内容?@Sparda:只需使用
hasClass
读取已单击按钮的状态,然后根据该状态执行任何操作。例如,谢谢你,乔恩。就是这样。嗨,谢谢你的回复。每个()与类的结合都起到了作用。