.toggle( handler, handler [, handler ] )返回值: jQuery版本弃用: 1.8, 已移除: 1.9
描述: 将两个或多个处理程序绑定到匹配的元素,以便在交替点击时执行。
-
版本添加: 1.0.toggle( handler, handler [, handler ] )
-
handler每次元素被点击时执行的函数,偶数次。
-
handler每次元素被点击时执行的函数,奇数次。
-
handler点击后循环使用的其他处理程序。
-
注意: 此方法签名在 jQuery 1.8 中已弃用,在 jQuery 1.9 中已移除。jQuery 还提供了一个名为 .toggle() 的动画方法,用于切换元素的可见性。动画方法或事件方法的触发取决于传递的参数集。
.toggle()
方法绑定了 click
事件的处理程序,因此 click
触发的规则也适用于此。
例如,考虑以下 HTML
1
2
3
|
|
然后可以将事件处理程序绑定到 <div>
1
2
3
4
5
|
|
当元素被反复点击时,消息会交替显示
.toggle() 的第一个处理程序被调用。
.toggle() 的第二个处理程序被调用。
.toggle() 的第一个处理程序被调用。
.toggle() 的第二个处理程序被调用。
.toggle() 的第一个处理程序被调用。
如果提供了两个以上的处理程序,.toggle()
将在所有处理程序之间循环。例如,如果有三个处理程序,那么第一个处理程序将在第一次点击、第四次点击、第七次点击等时被调用。
.toggle()
方法是为了方便而提供的。手动实现相同行为相对简单,如果 .toggle()
内置的假设被证明是有限制的,则可能需要这样做。例如,如果对同一个元素应用两次 .toggle()
,则不能保证 .toggle()
能正常工作。由于 .toggle()
在内部使用 click
处理程序来完成其工作,因此我们必须解除绑定 click
以删除与 .toggle()
关联的行为,这样其他 click
处理程序就不会被误伤。该实现还会在事件上调用 .preventDefault()
,因此如果已对元素调用 .toggle()
,则不会跟随链接,也不会单击按钮。
示例
切换表格单元格的样式。(不推荐。请使用 .toggleClass() 代替。)
1
2
3
4
5
6
7
|
|