jquery中的trigger和triggerHandler区别

来源:互联网 发布:中老年女雪地靴淘宝 编辑:程序博客网 时间:2024/05/21 10:22

1.

这个特别的方法将会触发指定的事件类型上所有绑定的处理函数。但不会执行浏览器默认动作,也不会产生事件冒泡。

这个方法的行为表现与trigger类似,但有以下三个主要区别:

* 第一,他不会触发浏览器默认事件。

* 第二,只触发jQuery对象集合中第一个元素的事件处理函数。

* 第三,这个方法的返回的是事件处理函数的返回值,而不是据有可链性的jQuery对象。此外,如果最开始的jQuery对象集合为空,则这个方法返回 undefined 

如果你对一个focus事件执行了 .triggerHandler() ,浏览器默认动作将不会被触发,只会触发你绑定的动作。


<html><head><script type="text/javascript" src="http://www.css88.com/tool/css3Preview/jquery-1.4.2.min.js"></script> <script type="">$(function(){$("#old").click(function(){$("input").trigger("focus");});//只会出发的是你绑定的focus事件.不会出发本身的input聚焦的事件$("#new").click(function(){$("input").triggerHandler("focus");});$("input").bind("focus",function(){$("<span>Focused!</span>").appendTo("body").fadeOut(1000);});})</script></head><body><button id="old">.trigger("focus")</button><button id="new">.triggerHandler("focus")</button><br/><br/><input type="text" value="To Be Focused"/></body></html>



2.带参数的

显示Hello World!

$("p").bind("myEvent", function (event, message1, message2) {  alert(message1 + ' ' + message2);});$("p").trigger("myEvent", ["Hello","World!"]);



原创粉丝点击