2012-01-09 74 views
0

我有一系列按鈕。讓我們稱他們爲A,B,C。我將切換方法附加到這些按鈕上。當我點擊A時,會顯示帶有一些信息的div。如果我再次點擊A,這個div將被刪除。當我點擊B時,與A相關的div被移除[如果仍然打開]並顯示與B有關的新div。這只是我們在許多網站中看到的基本切換。需要2次點擊的切換功能

但是,當我點擊A,然後B和A再次,A將需要2點擊以顯示其div。那是因爲切換中的第二個功能是因爲它仍然在隊列中而被觸發的。

看看這段代碼。我只是爲了演示而改變按鈕的文字。

http://jsfiddle.net/BxFqf/

如何防止它取2次點擊?

回答

0

您需要將點擊事件綁定到按鈕並相應地更改tet而不是使用切換。我會使用.each()

+0

嗨,謝謝你的迴應。 .each()與類相結合的做法。 – Sparda 2012-01-09 03:19:40

0

這是因爲.toggle保持你切換和不同的按鈕的狀態是不相關的

0

您將無法與這樣一個「幼稚」使用toggle達到所期望的行爲該項目的狀態。你需要做的是「記住」每個按鈕的狀態,所以你點擊時可以做出相應的反應。由於反應幾乎總是涉及應用樣式,因此使用HTML類也是記憶狀態的好選擇(您可以重複使用該類進行樣式設計)。

查看示例here

+0

謝謝,但我無法實現我需要簡單的類更改,因爲它涉及到添加一些HTML。使用你給出的相同的例子,你可以編輯它,以便按鈕的文本改變或不只是CSS樣式? – Sparda 2012-01-09 02:48:49

+0

@Sparda:只需使用'hasClass'來讀取點擊按鈕的狀態,然後根據需要做任何你想做的事情。例如,http://jsfiddle.net/eNn6Q/。 – Jon 2012-01-09 03:03:50

+0

謝謝喬恩。確實如此。 – Sparda 2012-01-09 03:40:02