1.常用模拟
我们平时的click都是通过用户点击才能触发click事件,但是有时候,我们想通过模拟用户操作,来达到点击的效果。比如在用户进入页面后,就会触发click事件,而不需要用户主动去单击。
可以采用trigger()方法来完成模拟操作。
$('#sub').trigger('click');
当页面装载完毕后,就会立刻输出想要的效果。
$('#sub').click();
也可以直接用简化写法click(),来达到同样的效果。
2.触发自定义事件
trigger()方法不仅能触发浏览器支持的具有相同名称的事件,也可以触发自定义名称的事件。
比如为元素绑定一个“mClick”的事件
$('#sub').bind("myClick",function(){
$('#test').append("我的自定义事件");
});
$('#sub').trigger("myClick");
3.传递数据
trigger(type,[message]);
第一个参数:触发事件的类型
第二个参数:传递给事件处理函数的附加数据,以数组的形式传递
$('#sub').bind('myclick',function(event,message1,message2){
$('#test‘).append(message1+message2);
});
$('#sub’).trigger('myclick',["hello","world"]);
4.执行默认操作
trigger()方法触发事件后,会执行浏览器默认行为。
比如$('input').trigger('focus');
以上代码不仅会触发input元素绑定的focus事件,还会使得input元素本身得到焦点(这是浏览器的默认行为)
如果只想触发绑定的focus事件,而不想执行浏览器的默认行为,可以使用另一种类似的方法
triggerHandler()方法。