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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript - 在iOS中的按钮上模拟点击事件(用手指点击)相关的知识,希望对你有一定的参考价值。

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

<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),它似乎没有用。你能帮我吗?

答案

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

来自: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()。也可以更好地分离关注点。

以上是关于javascript - 在iOS中的按钮上模拟点击事件(用手指点击)的主要内容,如果未能解决你的问题,请参考以下文章

按钮在 ipad 模拟器上不起作用

iOS模拟器无法正确刷新

如何在 iOS 7 上模拟键盘动画以将“完成”按钮添加到数字键盘?

UISearchController 中的取消按钮在 iOS 13 中没有正确消失

如何在ios中的按钮数组上找到按下了哪个按钮

如何在 iOS 模拟器中单击主页按钮?