2014-03-27 6 views
7

Ich habe eine Phonegap 3 App, die jQuery Mobile 1.4 und Backbone.js verwendet.Verhindern, dass Tap-Ereignis ausgelöst wird, wenn in jquerymobile auf Android-Webview wischen

In dieser App verwende ich die 'swipeleft' und 'swiperight' Ereignisse, um verschiedene Teile eines Formulars zu zeigen (Swipes zeigen vorherige/nächste div).

Dies funktioniert gut, aber mein Problem ist, dass, wenn ich mit dem Finger über Kontrollkästchen streichen, das Kontrollkästchen das Antippen-Ereignis erhält, bevor der Swipe ausgelöst wird, so dass der Checkbox-Status geändert wird.

Ich sehe das auch mit anderen Widgets, aber die Checkbox schien genug, um das Problem zu erklären.

Ich habe nicht das Problem auf Chrom auf einem Desktop-Computer noch mit der neuen Chrom-Webview in Kitkat, aber das Problem in Gingerbread und Jelly Bean (der älteren Webkit Webview).

ich stoppe die Ausbreitung des Swipe-Ereignisses in der Ereignisbehandlungsfunktion, aber da der „unerwünschte“ tap vor abgefeuert wird, die keine große Wirkung hat ...

Gibt es etwas, was ich tun kann, um zu vermeiden Das Tipp-Ereignis wird während eines Streifzugs in der Android-Webansicht ausgelöst?

+0

Haben Sie versucht, Ihre benutzerdefinierten Swipe-Ereignisse mithilfe von "Touch" -Ereignissen einzurichten? Wenn Sie darüber hinaus mit dem Finger auf einem solchen Element nach oben/unten scrollen, erhält es dann ein "tap" -Ereignis? – Omar

+0

Ich habe nicht versucht, meine eigenen Swipe-Events einzurichten, hüpfend konnte ich jQuery Mobile's arbeiten, wie ich es erwartet hatte. Beim Scrollen nach oben/unten erhalten die Checkboxen kein Tippen (es sei denn, ich wische nach oben/unten und der Bildschirm kann nicht scrollen). JQM-Buttons erhalten das Tap-Ereignis auch für das Wischen nach oben/unten auf Jelly Bean, aber nicht auf Kit-Kat. Vielleicht sollte ich meinen div größer als den Bildschirm machen, um während des Swipe eine kleine horizontale Scroll zu haben? – QuickFix

+0

Wenn es möglich ist, teilen Sie den Code, was Sie versucht haben ... – Aravin

Antwort

0

Sie könnten versuchen e.stopPropagation, um zu sehen, ob das Ihre Berührung davon abhält, auf dem Swipe und dem Kontrollkästchen registriert zu sein.