面向对象里,我们经常这么使用:调用一个类里面的方法,还可以传递参数过去。

jquery也是面向对象语言的设计模式。我们同样可以调用一个元素的方法,并且传递参数进去。这里我使用trigger方法。

详细信息如下:

trigger(type) 

在每一个匹配的元素上触发某类事件。 

返回值:jQuery

参数:

type (String): 要触发的事件类型 

示例:

$("p").trigger("click") 

 

1.trigger() 触发事件

   这个方法是jQuery 1.3中新增的一个引起触发事件的函数。

  这里的事件就如jQuery的帮助文档中的事件那一栏,如:click, mouseover, keydown 等有动作的js事件,而像show, hide这是效果不是事件。

 

2.为什么要用 trigger() ?

  相信刚开始接触大家也都有这样的想法?

  比如前台页面里有:<p id="p1">请点击这里!</p> 

  你希望加载页面时就执行这个事件给这个这p绑定了click事件(将下面的代码写在$(function(){});里面):

$("#p1").click(function(){
alert("hello!");
});

   如果用trigger(),你就要写成这样:

   

$("#p1").click(function(){
alert("hello!");
}).trigger(click);

 

这样写不是更加麻烦了吗?可以这么说,但是用trigger()最大的好处就是它是可以传递参数进去的。例如:

//myEvent为自定义事件名
$("#p1").bind("myEvent",function(event,str1,str2) {
alert(str1 + ' ' + str2);
});
$("#p1").trigger("myEvent",["Hello","World"]);

也可以这样写:

$("#p1").bind("myEvent",function(event,str1,str2) {
alert(str1 + ' ' + str2);
}).trigger("myEvent",["Hello","World"]);

 

 

作者:沐雪 文章均系作者原创或翻译,如有错误不妥之处,欢迎各位批评指正。本文版权归作有,如需转载恳请注明。
​​​ 为之网-热爱软件编程 http://www.weizhi.cc/​