介绍trigger()方法的作用:
trigger()方法触发被选元素上指定事件以及事件默认行为(比如表单的提交);
`
$(selector).trigger(event,eventObj,param1.,param2,...)
其中: event 是必须的。规定指定元素上要触发的事件。
可以是自定义事件,或者任何标注事件。
param1,param2.....可选。传递到事件处理程序的额外参数。
额外参数对自定义事件特别有用。
`
- trigger与triggerHandle的区别:
1. triggle不会引起事件的默认行为;
2. trigger()会操作jquery对象匹配的所有元素,而triggerHandler()值影响第一个匹配到的元素;
3. triggerHandle()创建的事件 不会在DOM树中冒泡;如果目标元素不直接处理他们,则不会发生任何事情;
4. triggerHandle()方法返回的是事件处理函数的返回值,而不是具有可链性的jquery对象,此外如果没有处理程序被触发,则这个方法返回undefined。
用于自动触发事件:
`
function select() {
$('#demo').trigger('click');
}
$('#demo').click(function(){
alert('hello world');
});
`
用于传递参数:
`
$('#demo').click(function(e,foo,bar){
console.log(foo,bar)
}).trigger('click',['sss',3]);
$('#demo').click(function(e,value){
var oValue = '' || value;
alert(oValue);
}).trigger('click','你好');
`
这里,如果先传递多个参数进去,param需要是参数的形式的arguments数组
转载于:https://blog.51cto.com/13955864/2235410