javascript - 在iOS中的按钮上模拟点击事件(用手指点击)

问题描述 投票:0回答:1

我正在尝试编写一个脚本,通过模拟网页上“添加到购物车”按钮的点击来将项目添加到购物车

<span id="cart-update">
<span class="cart-button">add to basket</span>
</span>

当我尝试在桌面上执行以下操作时,它完美运行

document.getElementById('cart-update').click();

但是,当我尝试在iPhone上做同样的事情时,它不起作用。我尝试使用这个答案的建议(Simulate click event on mobile device),它似乎没有用。你能帮我吗?

javascript click touch
1个回答
0
投票

您是否尝试过监控触摸事件,而不是单击事件?移动浏览器有他们自己监控的事件,有些不考虑“点击”作为事件

来自:https://developer.mozilla.org/en-US/docs/Web/API/Touch_events

function startup() {
  var el = document.getElementsByTagName("button")[0];
  el.addEventListener("touchstart", handleStart, false);
  el.addEventListener("touchend", handleEnd, false);
  el.addEventListener("touchcancel", handleCancel, false);
  el.addEventListener("touchmove", handleMove, false);
  console.log("initialized.");
}

解决这个问题的方法是单击/触摸事件以完全触发单独的函数,例如在触发click事件的函数中调用handleStart()。也可以更好地分离关注点。

© www.soinside.com 2019 - 2024. All rights reserved.