如何模拟单击或按键事件?

发布于 2024-10-12 10:59:14 字数 246 浏览 7 评论 0原文

我需要模拟单击或鼠标事件。我尝试了各种方法,但我使用的库似乎没有响应,或者确实响应,但仅在特定浏览器上响应。我做 ATM $('#target').val($('#target2').val());适用于 Firefox 和 Opera。在 chrome、IE8 和 safari 上失败。

我可以将事件添加到库中,但我不知道要添加哪个事件(或如何正确执行)。无论如何,我该如何解决这个问题?基本上我用 .val() 设置文本区域文本,而库似乎没有接收到该事件。

I need to simulate a click or mouse event. I tried various things but the lib i am using doesnt seem to respond to it or does respond but only on specific browsers. ATM i do $('#target').val($('#target2').val()); which works on firefox and opera. Fails on chrome, IE8 and safari.

I could add events to the libs but i wouldnt know which event to add (or how to do it properly). Anyways how do i solve this? basically i am setting the textarea text with .val() and the lib doesnt seem to pick up that event.

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

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

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

榕城若虚 2024-10-19 10:59:14

您可以使用 DOM Level 2 事件模型,例如:

function simulateClick(element) {
  var evt = document.createEvent("MouseEvents");
  evt.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
  cb.dispatchEvent(element);
}

演示: http://www.jsfiddle.net/ 4yUqL/66/

这将真正模拟元素上的鼠标单击。不管事件如何绑定。

You could use the DOM Level 2 Event Model, like:

function simulateClick(element) {
  var evt = document.createEvent("MouseEvents");
  evt.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
  cb.dispatchEvent(element);
}

Demo: http://www.jsfiddle.net/4yUqL/66/

This will truly simulate a mouseclick on an element. Regardless how events were bound.

幽梦紫曦~ 2024-10-19 10:59:14

jQuery 中的 .trigger('click') 可能会实现您的目标试图做。它将触发附加到单击事件的所有处理程序。

.trigger('click') in jQuery might achieve what you're trying to do. It will fire all the handlers attached to the click event.

流年里的时光 2024-10-19 10:59:14

如果有人遇到这个问题,正在寻找一种与框架无关的方式来触发任何 HTML 和鼠标事件,请查看此处:如何使用 JavaScript 模拟鼠标点击?

In case anyone bumps into this looking for a framework agnostic way to fire any HTML and Mouse event, have a look here: How to simulate a mouse click using JavaScript?

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