概述
最重要最基础的语法:
$(selector).trigger(event,eventObj,param1,param2,...)
event:必需。规定指定元素上要触发的事件。
可以是自定义事件,或者任何标准事件。
param1,param2,...可选。传递到事件处理程序的额外参数。
额外的参数对自定义事件特别有用。
与triggerHandle的区别:
● 它不会引起事件(比如表单提交)的默认行为
● .trigger() 会操作 jQuery 对象匹配的所有元素,而 .triggerHandler() 只影响第一个匹配元素。
● 由 .triggerHandler() 创建的事件不会在 DOM 树中冒泡;如果目标元素不直接处理它们,则不会发生任何事情。
● 该方法的返回的是事件处理函数的返回值,而不是具有可链性的 jQuery 对象。此外,如果没有处理程序被触发,则这个方法返回 undefined。
1.用于自动触发事件
$('#demo').click(function(){
alert('1')
});
$('#demo').trigger('click');
2.用于传递参数
$('#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数组
3.与bind配合使用,触发绑定事件
$('#demo').bind('aEvent',function(event,v1,v2){
console.log(v1+','+v2);
});
$('#demo').trigger('aEvent',[111,2222])
4.最后也是最容易忽视的一个方法,one()
语法
$(selector).one(event,data,function)
one() 方法为被选元素附加一个或多个事件处理程序,并规定当事件发生时运行的函数。
当使用 one() 方法时,每个元素只能运行一次事件处理器函数。
one方法可以与trigger配合使用,最好的实践例子:
在图片懒加载的事件
$self.one("appear", function() {});
可以使用$self.trigger(“appear”);来进行每次图片load事件的触发
最后
以上就是谨慎银耳汤为你收集整理的trigger的用法总结的全部内容,希望文章能够帮你解决trigger的用法总结所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复