最近寫一個實例的時候使用到toggle函數,但是呼叫的時候會把元素隱藏掉,之前使用過也只是多個事件輪流切換罷了。百思不得其解於是就在網路上搜尋查看jQuery API文件。終於發現了原因:
原來在jQuery 1.9版本之後,toggle()發生了變化,以下是官網的Notes:
Note: This method signature was deprecated in jQuery 1.8 and removed in jQuery 1.9. jQuery 1.9. jQuery 1.9. an animation methodnamed .toggle() that toggles the visibility of elements. Whether the animation or the event method is fired depends on the set of argumentspassed.
在早期的版本,存在兩個同名的toggle(的方法卻是不一樣的:
.toggle( handler(eventObject), handler(eventObject) [, handler(eventObject) ] )
Description: Bind two or more handlers to the matched elements, to be executed on alternate clicks.
============================================ =========
.toggle( [duration ] [, complete ] )
Description: Display or hide the matched elements.
而之後的版本把第一個toggle()函數給去掉了,導致用於呼叫切換功能時會把元素隱藏了。
========================
既然去掉了這個函數,但是實現需求還是要的。怎麼來實現多個事件的輪流切換了?
可以透過click事件判斷不同的情況來觸發,或是透過設定一個變數計數點擊次數來執行不同的函數。