我正在尝试编写一个脚本,通过模拟在网页上添加到购物车按钮的点击来将商品添加到购物车中
<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)中的建议,但似乎没有用。 你能帮我吗?
答案 0 :(得分: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.");
}
一种解决方法是单击/触摸事件完全触发一个单独的函数,例如在函数中调用handleStart()来触发单击事件。 也许也可以更好地分离关注点。