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

2025-12-27 45 浏览 0 评论

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

你给一个按钮添加了一个 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!"]);

发布评论

发布评论前请先 登录

评论列表 0

暂无评论