javascript - имитировать событие нажатия (нажатие пальцем) на кнопку в iOS - PullRequest
0 голосов
/ 11 декабря 2018

Я пытаюсь написать скрипт, который добавляет товар в корзину, имитируя нажатие кнопки добавления в корзину на веб-странице

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

Когда я пытаюсь сделать следующее вна рабочем столе, он отлично работает

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

Но когда я пытаюсь сделать то же самое на iPhone, это не работает.Я попытался воспользоваться советом из этого ответа ( Имитация события клика на мобильном устройстве ), но он не сработал.Вы можете мне помочь?

1 Ответ

0 голосов
/ 11 декабря 2018

Вы пытались контролировать события касания вообще, а не события щелчка?Мобильные браузеры имеют свои собственные события, которые они отслеживают, некоторые вообще не рассматривают «щелчок» как событие

От: 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 () в вашей функции, вызывающей событие щелчка.Может быть, и лучшее разделение интересов.

...