Hello,
I've posted about this before, but I have a more precise pinpointing of the issue.
Nutshell: jQuery Mobile + PhoneGap + Blackberry = no "touch end" event detected on a vertically-oriented single-finger start-move-end touch sequence.
Details: When a jQuery Mobile app is run wrapped in PhoneGap (only when wrapped in PhoneGap; it works fine when it's a pure jQuery Mobile app running on a web server being accessed by the Blackberry browser, and conversely, it works as a PhoneGap app once jQuery Mobile is completely stripped out) and run on Blackberry (and only on Blackberry, not iOS or Android, my only other target phones), the "end touch" event is not appearing to fire when the user does a vertically-oriented single-finger start-move-end touch sequence (and only when it's vertical; it fires when it's horizontal).
When the user moves his/her finger sideways, I see these touch events fire: start-move-end, as expected.
When the user moves his/her finger vertically, I see these touch events fire: start-move ONLY, and not the "end" event, NOT as expected.
It works perfectly on iOS and Android, whichever way they move their finger.
It also works perfectly on Blackberry if the app is a web app being served by Tomcat and viewed in the Blackberry browser.
It also works perfectly on Blackberry as a PhoneGap app if jQuery Mobile is stripped out.
The "perfect storm" = Blackberry + jQuery Mobile + PhoneGap + they move their finger vertically. That's when I get no "touch end".
My simple sample app has two divs: one that you can touch and perform gestures on, and the other to show you the event that is currently firing. I can post the app. It's small.
I think the touch events are being captured by the browser and not making it to my HTML element (I've tried an img and a div), as the screen scrolls a small amount during these vertically-oriented single-finger start-move-end touch sequences, moving the jQuery Mobile menus slightly. Just the "touch end" is being captured/blocked/something'd, not the "touch move", interestingly enough.
I've experimented quite a bit with the various jQuery Mobile tags, setting things like data-position="fixed" on menus (and even stripped the menus out, leaving just a data-role="content" tag. And nothing I've tried solves it. And it works fine on iOS and Android.
I've tried it on two Blackberry devices, a Bold and a Torch. Same issue.
So...not sure if this is a jQuery Mobile issue, a PhoneGap issue, or something I need to add to the HTML.
Anyone?
Thanks,
Jack