如何用jquery的trigger方法模拟点击事件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用jquery的trigger方法模拟点击事件相关的知识,希望对你有一定的参考价值。

参考技术A 常用模拟
在jQuery中,可以使用trigger()方法完成模拟操作。
例如,使用如下代码来触发id为btn按钮的click事件。
代码示例:
$("#btn").trigger("click");
当页面加载完毕后,就会立刻输出想要的效果。
也可以直接用简化写法click():
代码示例:
$("#btn").click();

jquery模拟鼠标点击动作

$(function()
$("#a").click(function()aaaaaa)
$("#b").click(function()xxxxxx)
)

请问如何点击b的时候触发#a的点击事件?
除了把a的事件写到一个函数里通过调用的方法,jquery有模拟点击动作的事件不

参考技术A trigger(type,[data])
在每一个匹配的元素上触发某类事件。
这个函数也会导致浏览器同名的默认行为的执行。比如,如果用trigger()触发一个'submit',则同样会导致浏览器提交表单。如果要阻止这种默认行为,应返回false。

你也可以触发由bind()注册的自定义事件
返回值 jQuery

参数
type (String) : 要触发的事件类型

data (Array) : (可选)传递给事件处理函数的附加参数

示例
提交第一个表单,但不用submit()

jQuery 代码:

$("form:first").trigger("submit")
--------------------------------------------------------------------------------

给一个事件传递参数

jQuery 代码:

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

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

jQuery 代码:

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

=====================================================================

triggerHandler(type,[data])
这个特别的方法将会触发指定的事件类型上所有绑定的处理函数。但不会执行浏览器默认动作.

返回值 jQuery

参数
type (String) : 要触发的事件类型

data (Array) : (可选)传递给事件处理函数的附加参数

示例
如果你对一个focus事件执行了 .triggerHandler() ,浏览器默认动作将不会被触发,只会触发你绑定的动作。

HTML 代码:

<button id="old">.trigger("focus")</button>
<button id="new">.triggerHandler("focus")</button><br/><br/>
<input type="text" value="To Be Focused"/>
jQuery 代码:

$("#old").click(function()
$("input").trigger("focus");
);
$("#new").click(function()
$("input").triggerHandler("focus");
);
$("input").focus(function() $("<span>Focused!</span>").appendTo("body").fadeOut(1000); );
参考技术B $("#b").click(function()$("#a").trigger("click"))

$("#a").trigger("click")就是执行#a的click事件本回答被提问者和网友采纳

以上是关于如何用jquery的trigger方法模拟点击事件的主要内容,如果未能解决你的问题,请参考以下文章

jQuery中模拟用户操作

如何用js或jquery实现点击事件触发键盘

jQuery 自动触发事件的坑

Jquery使用trigger()方法模拟事件

jquery模拟鼠标点击动作

求jquery的trigger()方法原理