Я использую временные метки для точного обнаружения длительного нажатия путем сравнения временных меток событий с временной меткой, переданной requestAnimationFrame. По документации обе эти временные метки должны быть:
Это значение представляет собой количество миллисекунд, прошедшее с начала жизни текущего документа до создания события.
https://developer.mozilla.org/en-US/docs/Web/API/Event/timeStamp
Я создал jsFiddle, если я щелкну мышью на рабочем столе, он покажет положительные числа. Если я открою на iPhone 7+, похоже, что из значения timeStamp события вычитается около 40 минут.
https://jsfiddle.net/2r0nzcmu/1/
window.addEventListener("touchstart", function (event) {
let text = document.querySelector("#text");
text.textContent = event.timeStamp;
})
Это реальная ошибка? (и если вы знаете лучший способ) Как мне лучше обнаружить долгое нажатие?