我正在尝试编写一个脚本,通过模拟网页上“添加到购物车”按钮的点击来将项目添加到购物车
<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()。也可以更好地分离关注点。