jQuery 触发点击移动 Safari (iPad)

发布于 2024-09-15 12:06:55 字数 140 浏览 2 评论 0原文

我在 iPad 上的 Safari 浏览器中偶然发现了一个错误。

$('#next_proj a').trigger('click');

..似乎没有点击实际链接。

有什么线索吗?

I have stumbled upon a bug in Safari on iPad.

$('#next_proj a').trigger('click');

.. does not seems to click on the actual link.

Any clues?

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

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

发布评论

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

评论(3

勿忘初心 2024-09-22 12:06:55

我通过这样做来实现这个工作...

var el = $('#next_proj a').get(0);
var evt = document.createEvent("MouseEvents");
evt.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
el.dispatchEvent(evt);

希望它有帮助...

I got this to work by doing this...

var el = $('#next_proj a').get(0);
var evt = document.createEvent("MouseEvents");
evt.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
el.dispatchEvent(evt);

Hope it helps...

疑心病 2024-09-22 12:06:55

这可能不是一个错误。我的猜测是他们不想允许 javascript 模拟用户点击。

It may not be a bug. My guess is that they did not want to allow javascript emulated user clicks.

挖个坑埋了你 2024-09-22 12:06:55

您是否尝试过触发触摸事件而不是点击事件?不知道如何在 jquery 中实现 - 但在普通 js 中它并不太复杂

function simulateEvent() {
  var e = document.createEvent('HTMLEvents');
  e.initEvent('touchstart',true, true);
  document.dispatchEvent(e);
}

Have you tried triggering a touch event instead of a click event? Not sure how you would implement in jquery - but it isn't too complicated in plain js

function simulateEvent() {
  var e = document.createEvent('HTMLEvents');
  e.initEvent('touchstart',true, true);
  document.dispatchEvent(e);
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文