javascript - 在 iOS 中的按钮上模拟点击事件(用手指点击)
javascript - Simulate a click event (tap with finger) on a button in iOS
我正在尝试编写一个脚本,通过模拟点击网页上的“添加到购物车”按钮来将商品添加到购物车
<span id="cart-update">
<span class="cart-button">add to basket</span>
</span>
当我尝试在桌面上执行以下操作时,它完美运行
document.getElementById('cart-update').click();
但是当我尝试在 iPhone 上做同样的事情时,它不起作用。
我尝试使用此答案 () 中的建议,但似乎没有用。
你能帮帮我吗?
您是否尝试过监控触摸事件而不是点击事件?移动浏览器有自己正在监视的事件,有些浏览器根本不将 "click" 视为事件
发件人: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/touch 事件完全触发一个单独的函数,例如在触发点击事件的函数中调用 handleStart()。
也可能是更好的关注点分离。
我正在尝试编写一个脚本,通过模拟点击网页上的“添加到购物车”按钮来将商品添加到购物车
<span id="cart-update">
<span class="cart-button">add to basket</span>
</span>
当我尝试在桌面上执行以下操作时,它完美运行
document.getElementById('cart-update').click();
但是当我尝试在 iPhone 上做同样的事情时,它不起作用。
我尝试使用此答案 (
您是否尝试过监控触摸事件而不是点击事件?移动浏览器有自己正在监视的事件,有些浏览器根本不将 "click" 视为事件
发件人: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/touch 事件完全触发一个单独的函数,例如在触发点击事件的函数中调用 handleStart()。 也可能是更好的关注点分离。