我们前面说的栗子都是需要主要主动去触发事件,但是有时候需要用户进入页面之后,就自动触发事件,而不需要用户去主动触发,这就可以用到我们的trigger()方法了
$('button').trigger('click');
这样,加载完页面之后,就会立刻输出想要的结果,也可以用简化写法click(),来达到同样的效果
$('button').click();
1.触发自定义事件
trigger()方法可以用于触发自定义的事件
$('button').bind('MyClick',function(){
$('div').append('<p>这是我的自定义事件</p>');
})
想要触发这个事件,可以使用下面的代码来实现
$('button').trigger('MyClick');
2.用于传递数据
$('button').bind('MyClick',function(event,message1,message2){
$('div').append('<p>这是我的自定义事件</p>');
})
$('button').trigger('MyClick',['我的自定义','事件']); //传递两个数据
3.执行默认操作
trigger()方法触发事件后,会执行浏览器的默认操作,比如说:
$('input').trigger('focus');
该代码不仅会触发<input>元素绑定的focus事件,还会使得<input>元素获得focus焦点,这是由于浏览器的默认操作形成的。
解决办法:使用triggerHandle()方法
$('input').triggerHandle('focus');
该方法会取消浏览器对于事件的默认操作。
本博客由作者原创,如需转载,请注明出处!!