Не было смещения в e.touch [0], когда я пытался на iPad. Кто-нибудь знает, где я могу получить это значение offsetX?
Как я могу получить e.offsetX на мобильном/iPad
Ответ 1
Вы можете использовать clientX или pageX, см. здесь
Ответ 2
Правильный ответ основан на комментариях в предлагаемом ответе:
e.offsetX = e.touches[0].pageX - e.touches[0].target.offsetLeft;
e.offsetY = e.touches[0].pageY - e.touches[0].target.offsetTop;
Это игнорирует любые преобразования, такие как вращение или масштабирование. Также убедитесь, что есть какие-либо прикосновения.
Ответ 3
Имел аналогичную проблему при привязке обработчика событий с помощью функции jQuery .on
на элементе canvas
(не знаю причины).
Я разрешил его, привязывая обработчик событий, используя addEventListener
. Объект event
в обработчике имеет offsetX и offsetY, определенные с соответствующими значениями.
Надеюсь, что это поможет...