2013-07-27 110 views
0

正如我現在所知道的。在jQuery 1.9版中不推薦使用toggle()方法。沒關係,但我很熟悉它。解決方案是導入最新的jQuery遷移插件。jQuery toggle()方法

在官方的jQuery API文檔,我可以看到,有在.toggle()方法的描述一張紙條:

不推薦。使用.toggleClass()代替

是的,我可以用.toggleClass()代替,但在這種情況下,只有兩班之間切換。

另外,爲什麼不推薦使用?

+0

您可以輕鬆創建自己的肘() - > http://stackoverflow.com/questions/17840644/jquery-toggle-method-is-behaving-wierdly/17840756#17840756 – adeneo

回答

1

「不推薦使用.toggleClass()改爲」註釋是關於提供的示例,該示例使用.toggle()切換類,這不是關於.toggle()的一般註釋。

該文檔還說明原因不推薦使用:提供了一種用於方便

的.toggle()方法。手工實現相同的行爲相對簡單,如果內置到.toggle()中的假設證明是有限的,則這個 是必要的。 例如,如果對同一元素應用 兩次,.toggle()不能保證正常工作。由於.toggle()在內部使用點擊 處理程序來完成其工作,因此我們必須解除點擊以刪除附加了.toggle()的行爲 ,因此可以在 交火中捕獲其他點擊處理程序。該實現還調用 事件中的.preventDefault(),因此如果已經在元素上調用了.toggle(),則鏈接將不會被按下,並且按鈕將不會被點擊 。

See further discussion here

0

因爲未來版本的jQuery .toggle()將不會在那裏供您調用,並且會在您的代碼中出錯。

+0

是它會,但正如我上面提到的,我有一個遷移插件導入。 –

+0

我回答了我看到的唯一問題。如果您有關於toggleClass()的問題,我可以嘗試回答。 :) –