I had this problem. The way I got round it was to bind to "click" instead of "touchstart".
This meant that my "click" events got messed up (for users not on touch devices) so I detected a hover first and then used the hover to tell me if they were touch users or not. A bit dirty, but it works!