您的浏览器过于古老 & 陈旧。为了更好的访问体验, 请 升级你的浏览器
Ready 发布于2014年09月06日 09:05

原创 jQuery.toggle() 事件函数详解

3310 次浏览 读完需要≈ 7 分钟

内容目录

toggle()函数用于为每个匹配元素的click事件绑定轮流的处理函数

toggle()是一个特殊的事件函数,用于为匹配元素的click事件绑定多个事件处理函数。每次触发click事件时,toggle()函数会轮流执行其中的一个事件处理函数。

例如,我们使用toggle("click", A, B, C)为元素的click事件绑定了3个事件处理函数A、B、C。第一次点击执行A,第二次点击执行B,第三次点击执行C,第四次点击又执行A,第五次点击又执行B ……(如果调用了多次toggle(),它们之间是独立的)。

要删除通过toggle()绑定的事件,请使用unbind()函数。例如:unbind("click")

这里介绍的toggle()是一个特殊的click事件函数,jQuery还有一个同名的toggle()函数,用于切换元素的显示/隐藏。

该函数属于jQuery对象(实例)。

语法

jQuery 1.0 新增该函数,但从1.8开始被标记为已过时,并从1.9开始被移除

jQueryObject.toggle( handler1, handler2 [, handlerN... ] )

参数

参数 描述
handler1 Function类型指定的事件处理函数1。
handler2 Function类型指定的事件处理函数2。
handlerN 可选/Function类型指定的事件处理函数N,可以有任意多个。

事件函数toggle()会为事件处理函数传入一个参数,即表示当前事件的Event对象

如果事件处理函数的返回值为false,则表示阻止元素的默认事件行为,并停止事件在DOM树中冒泡。例如,<a>链接的click事件的处理函数返回false,可以阻止链接的默认URL跳转行为。

返回值

toggle()函数的返回值为jQuery类型,返回当前jQuery对象本身。

示例&说明

请参考下面这段初始HTML代码:

<input id="btn" type="button" value="点击" >

以下是与toggle()事件函数相关的jQuery示例代码,以演示toggle()事件函数的具体用法:

function clickHandler1(){
	alert("click-1");
}

function clickHandler2(){
	alert("click-2");
}

function clickHandler3(){
	alert("click-3");
}

function clickHandler4(){
	alert("click-4");
}

$("#btn").toggle( clickHandler1, clickHandler2, clickHandler3, clickHandler4 );

//第1次点击执行clickHandler1
//第2次点击执行clickHandler2
//第3次点击执行clickHandler3
//第4次点击执行clickHandler4

//第5次点击执行clickHandler1
//第6次点击执行clickHandler2
//第7次点击执行clickHandler3
//第8次点击执行clickHandler4

//循环切换执行...

运行代码

  • CodePlayer技术交流群1
  • CodePlayer技术交流群2

0 条评论

撰写评论

打开导航菜单