正如我現在所知道的。在jQuery 1.9版中不推薦使用toggle()
方法。沒關係,但我很熟悉它。解決方案是導入最新的jQuery遷移插件。jQuery toggle()方法
在官方的jQuery API文檔,我可以看到,有在.toggle()方法的描述一張紙條:
不推薦。使用.toggleClass()代替
是的,我可以用.toggleClass()
代替,但在這種情況下,只有兩班之間切換。
另外,爲什麼不推薦使用?
正如我現在所知道的。在jQuery 1.9版中不推薦使用toggle()
方法。沒關係,但我很熟悉它。解決方案是導入最新的jQuery遷移插件。jQuery toggle()方法
在官方的jQuery API文檔,我可以看到,有在.toggle()方法的描述一張紙條:
不推薦。使用.toggleClass()代替
是的,我可以用.toggleClass()
代替,但在這種情況下,只有兩班之間切換。
另外,爲什麼不推薦使用?
「不推薦使用.toggleClass()改爲」註釋是關於提供的示例,該示例使用.toggle()
切換類,這不是關於.toggle()
的一般註釋。
該文檔還說明原因不推薦使用:提供了一種用於方便
的.toggle()方法。手工實現相同的行爲相對簡單,如果內置到.toggle()中的假設證明是有限的,則這個 是必要的。 例如,如果對同一元素應用 兩次,.toggle()不能保證正常工作。由於.toggle()在內部使用點擊 處理程序來完成其工作,因此我們必須解除點擊以刪除附加了.toggle()的行爲 ,因此可以在 交火中捕獲其他點擊處理程序。該實現還調用 事件中的.preventDefault(),因此如果已經在元素上調用了.toggle(),則鏈接將不會被按下,並且按鈕將不會被點擊 。
因爲未來版本的jQuery .toggle()
將不會在那裏供您調用,並且會在您的代碼中出錯。
是它會,但正如我上面提到的,我有一個遷移插件導入。 –
我回答了我看到的唯一問題。如果您有關於toggleClass()的問題,我可以嘗試回答。 :) –
您可以輕鬆創建自己的肘() - > http://stackoverflow.com/questions/17840644/jquery-toggle-method-is-behaving-wierdly/17840756#17840756 – adeneo