Jeśli złapię wszystkie zdarzenia touchend z urządzeń mobilnych z:właściwości zdarzeń touchend
$(document.body).bind('touchend', function (e) {
var touch = e.touches[0]; // doesnt work
...
Muszę dostać się touch.screenX, touch.screenY, touch.clientX i touch.clientX z e paramter. Wszystkie przykłady, które widziałem sugerują, że e.touches będą kolekcją i możesz uzyskać szczegóły dotyku za pomocą e.touches[0]
. W moich testach na iPadzie, e.touches
jest zawsze niezdefiniowany. Nie używam żadnych wtyczek jquery.
Próbowano także e.targetTouches, który również jest niezdefiniowany.
Czy ktoś może pomóc?
Nie powinno to być zaakceptowane odpowiedź? Głosujcie to! –
Zgadzam się, to jest poprawne rozwiązanie. Ja sam używam tego, ponieważ ma on potrzebne właściwe dane i dlaczego miesza więcej API niż potrzeba. –
Nie jest tak w przypadku Androida, jeśli używasz jQuery. $ ("# test"). on ("touchend", funkcja (evt) {console.log (evt.changedTouches);}); jest pusty, to samo, jeśli wykonujesz $ ('# test'). bind ('touchend' ... ale jeśli wycinasz jquery z równania i robisz getElementBy i addEventListener działa ... – WORMSS