jquery模拟鼠标点击动作

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 怎么实现模拟鼠标点击效果,要点击的位置是用JS调用的,无法得到被点击标签的ID

有个广告是用JS调用的,我想实现比如鼠标移动到网页上的某个位置的时候,
$("#tuig iframe").mouseover(function() $(this).click()); 这句没效果。
所以我想要的效果是jQuery实现的点击某个区域或者某个位置,而不是点哪个标签。

参考技术A $("该区域的div或者class或者id").mouseenter(function()
$(this).trigger("click");

);
使用mouseenter和mouseleave防止冒泡事件来自:求助得到的回答
参考技术A $("#aaa").mouseover(function()
$("#bbb").trigger("click");
);

这样写的,当鼠标移动到aaa上时,触发bbb的点击事件本回答被提问者和网友采纳
参考技术B 省省吧,浏览器安全策略不允许你这样做。 参考技术C 你直接只用mouseover事件激活这个广告不就行了吗?为什么还要再点击一下?不明白为什么这么做追问

$("#tuig iframe").mouseover(function() $(this).click());
这是我写的,用火狐的插件看到的确实是有iframe,但是点击它是没有链接的。懂不, 用鼠标点击可以跳转,但是如果写成代码,就没用了,因为最终我们点击的是一个超链接,。 而代码是不会点击超链接的,
蛋疼的就是无法直接获取那个超链接,因为那是嵌套了好几层的JS。。所以最简单的方法就是直接设定点击某个区域, 而不是那个元素。
mouseover是会判断元素覆盖的

追答

不太理解你说的意思,如果这个超链接是你后台传过来的那就建一个隐藏的属性来保存这个链接然后再用js来调用也很好啊,还有,如果用html的热点来做会不会简单点?

以上是关于jquery模拟鼠标点击动作的主要内容,如果未能解决你的问题,请参考以下文章

js如何实现鼠标模拟点击

jQuery 怎么实现模拟鼠标点击效果,要点击的位置是用JS调用的,无法得到被点击标签的ID

写一个程序,模拟人操作鼠标,进行操作,包括点击,和使用应用程序(如:浏览器),求实现方法。

使用jQuery模拟鼠标点击a标签事件

在javascript中模拟鼠标点击时如何设置目标属性?

VB模拟鼠标点击webbrowser控件网页