jQuery 中 trigger() 方法触发被选元素的指定事件类型

发布于 2017-11-08 20:05:36 字数 1952 浏览 3254 评论 0

trigger() 触发事件就是类似于点击 click mouseover keydown 等有动作的 JavaScript 事件,简单的说就是一个动作,可能有人会问,那 show hide 是不是可以触发,答案是不能。

jQuery 中 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 的话,就能带参数。

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

下面的代码可以显示一个 Hello World 的  jQuery  代码:

$("p").bind("myEvent", function (event, message1, message2) {
  alert(message1 + ' ' + message2);
}); 
$("p").trigger("myEvent", ["Hello","World!"]);

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

JSmiles

生命进入颠沛而奔忙的本质状态,并将以不断告别和相遇的陈旧方式继续下去。

0 文章
0 评论
84961 人气
更多

推荐作者

醉城メ夜风

文章 0 评论 0

远昼

文章 0 评论 0

平生欢

文章 0 评论 0

微凉

文章 0 评论 0

Honwey

文章 0 评论 0

qq_ikhFfg

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文