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树中冒泡。例如,3499910bf9dac5ae3c52d5ede7383485链接的click事件的处理函数返回false,可以阻止链接的默认url跳转行为。
返回值
toggle()函数的返回值为jquery类型,返回当前jquery对象本身。
示例&说明
请参考下面这段初始html代码:
9b5f5f50a7d3ce1f08c428dcc0508137
以下是与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 //循环切换执行...
以上就是jquery.toggle() 事件函数详解的详细内容。