一般情况下用户必须通过单击按钮,才能触发click事件,但是有时,需要通过模拟用户操作来达到单击的效果,例如在用户进入页面后,就触发click事件,而不需要用户去主动单击。
在jQuery中,可以使用trigger()方法来完成模拟操作
$("#btn").trigger("click");
这样,当页面装载完毕后,就会立刻输出想要的效果。
触发自定义事件
trigger()方法不仅能触发浏览器支持的具有相同名称的事件,也可以触发自定义名称的事件。
例如为元素绑定一个”myClick”的事件
$("#btn").bind("myClick",function(){
$('#test').append("<p>我的自定义事件</p>");
})
想要触发这个事件,可以使用如下代码来实现:
$('#btn').trigger("myClick");
传递数据:
trigger(type,data)方法有2个参数,第一个是要触发的事件类型,第2个参数是要传递给事件处理函数的附加数据,以数组方式传递
$("#btn").bind("myClick",function(event,message1,message2){ 获取数据
$('#test').append("<p>我的自定义事件</p>");
})
$("#btn").trigger("myClick",["我的自定义","事件"]);
执行默认操作
trigger触发事件后,会执行浏览器默认操作,如 $("input").trigger("focus");