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