我是靠谱客的博主 谨慎银耳汤,最近开发中收集的这篇文章主要介绍trigger的用法总结,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

最重要最基础的语法:

$(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的用法总结所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(51)

评论列表共有 0 条评论

立即
投稿
返回
顶部