jQuery事件绑定,解绑,触发
事件绑定
1.bind(type,[data],fn)
--type: 含有一个或多个事件类型的字符串,由空格分隔多个事件。比如"click"或"submit",还可以是自定义事件名。
--data:作为event.data属性值传递给事件对象的额外数据对象
--fn:绑定到每个匹配元素的事件上面的处理函数
例子:
$("p").bind("click", function(){ alert( $(this).text() ); });
2.delegate(selector,[type],[data],fn)
--selector:选择器字符串,用于过滤器触发事件的元素。
--type:附加到元素的一个或多个事件。 由空格分隔多个事件值。必须是有效的事件。
--fn:当事件发生时运行的函数
--data:传递到函数的额外数据
例子:
$("div").delegate("button","click",function(){ $("p").slidetoggle(); });
3.on(events,[selector],[data],fn)
--events:一个或多个用空格分隔的事件类型和可选的命名空间,如"click"或"keydown.myplugin" 。
--selector:一个选择器字符串用于过滤器的触发事件的选择器元素的后代。如果选择的< null或省略,当它到达选定的元素,事件总是触发。
--data:当一个事件被触发时要传递event.data给事件处理函数。
--fn:该事件被触发时执行的函数。 false 值也可以做一个函数的简写,返回false。
例子:
$("p").on("click", function(){ alert( $(this).text() ); });
解绑事件
1.unbind(type,[data|fn]])
--type:删除元素的一个或多个事件,由空格分隔多个事件值。
--fn:要从每个匹配元素的事件中反绑定的事件处理函数
例子:
$("p").unbind( "click" )
2.undelegate([selector,[type],fn])
--selector:需要删除事件处理程序的选择器。
--type:需要删除处理函数的一个或多个事件类型。 由空格分隔多个事件值。必须是有效的事件。
--fn:要删除的具体事件处理函数。
例子:
$("p").undelegate( "click" )
3.off(events,[selector],[fn])
--events:一个或多个空格分隔的事件类型和可选的命名空间,或仅仅是命名空间,比如"click", "keydown.myplugin", 或者 ".myplugin".
--selector:一个最初传递到.on()事件处理程序附加的选择器。
--fn:事件处理程序函数以前附加事件上,或特殊值false.
例子:
$("p").off( "click", "**" )
注意:解除绑定事件:自身的绑定事件和动态绑定的事件都会被解绑
触发事件
触发事件:触发某个事件的时候在该事件内部调用了其他元素的某个事件方法
1.直接调用元素的事件方法:
$("div").click();
2.使用.trigger()方法
trigger(type,[data])
--type:一个事件对象或者要触发的事件类型
--data:传递给事件处理函数的附加参数
例子:
$("div").trigger("click");
3.使用.triggerhandle()方法
triggerhandler(type,[data])
--type:要触发的事件类型
--data:传递给事件处理函数的附加参数
例子:
$("div").triggerhandler("click");
注意:.trigger()和.triggerhandler()区别:前者会触发浏览器的默认行为,并执行事件,后者不会触发浏览器默认行为,但是会执行事件
特此声明:如需转载请注明出处,如有疑问请及时提出以便于改正,如有侵权,联系删除,谢谢
推荐阅读
-
jQuery事件绑定,解绑,触发
-
JQuery中绑定事件(bind())和移除事件(unbind())_jquery
-
关于jquery input textare 事件绑定及用法学习_jquery
-
JQuery触发radio或checkbox的change事件详解
-
jQuery中的bind绑定事件与文本框改变事件的临时解决方法_jquery
-
jQuery中使用trigger触发click事件失效的解决办法
-
jQuery在添加元素时无法触发绑定事件怎么处理
-
javascript事件委托和jQuery事件绑定on、off 和one
-
解决jquery appaend元素中id绑定事件失效的问题
-
jquery中移除了live()和die(),新版事件绑定on()和off()的方法详解