I've been developing a mobile form wizard plugin for a client, and whenever I bind to swipeleft and swiperight I receive two notifications every time I swipe. I was eventually able to narrow it down to an event bubbling issue, but to fix it I had to modify the JQuery Mobile library. Here is the offending code:
Returning false prevents the double event firing. I couldn't find any way to prevent this through my own swipe handlers, and frankly didn't see why I should. Not sure what the process is for integrating fixes into base, but this would be helpful. Thanks!
If you attach your handler to anything lower than the document, you receive swipeleft or swiperight twice. Without doing something really ugly (keeping a timestamp in a static, for example) it's impossible to determine if it's a duplicate. I ended up refining my solution to only return false when a swipe notification was actually sent.
What I did in the end is to handle the swipeleft / right events at the level of the document, not in my pageDiv. Nevertheless, binding to the swipeleft event I do it at the level of the pageDiv using the pageshow event. This is because I want to handle the swipe differently only for this page, not for any other. I think doing so is just playing safe...