jQuery中trigger()的使用方法

品味人生 • 发布于 2019-02-01 21:37:02

这个家伙很害羞,不想介绍自己!

trigger() 触发事件

触发事件就是 类似于点击click, mouseover, keydown 等有动作的js事件,简单的说就是一个动作,可能有人会问,那show, hide 是不是? 不是

为什么要用 trigger() ?

比如:你给一个按钮添加了一个click点击事件,弹出提示框,代码如下。

var div = $("#mybutton"); //你的按钮。 div.click(function() { alert('你是猪啊,~让你点,你就点?');});

上面的代码就是一个按钮的click事件。这个时候你有个非分的要求,就是希望页面刷新的时候就点一下这个按钮。如果不用trigger()你可以在后面这样写:

div.click();

如果用trigger(),你就要写成这样:效果跟上面这句是一样,就是稍微长点。

div.trigger("click");

然后有人说:你是猪啊·~~ 上面这个短一点,你还教我用下面这个 =,=
表急着揍我么~· 继续往下看。

你用手册 里的索引搜一下click 可以看到 两条 结果 click() 和,click(fn),然后 搜一下trigger 发现只有一个 trigger(type, [data]) 。
然后你知道我的意思了吧。— trigger 可以传参数进去。
我们看看 手册里的trigger 例子:

$("p").click( function (event, a, b) { // 一个普通的点击事件时,a和b是undefined类型 // 如果用下面的语句触发,那么a指向"foo",而b指向"bar" } ).trigger("click", ["foo", "bar"]);

了解了吧?如果用click 的话,它不吃参数,用trigger的话,就能吃了。
练习一下吧:黏贴到你的页面上试试看,记得把jquery载进来。

$(function() { var div = $("#mybutton"); //你的按钮。 div.click(function(e,text) { var text = text || '你是猪啊,~让你点,你就点?'; alert(text); }); div.trigger("click","您好,请点击按钮");});

demo:

下面的代码可以显示一个"Hello World" jQuery 代码: $("p").bind("myEvent", function (event, message1, message2) { alert(message1 + ' ' + message2); }); $("p").trigger("myEvent", ["Hello","World!"]);

其实trigger()方法的意思自动触发被选元素的指定事件类型。