Anyplace I wrote event.preventDefault I really meant event.stopPropagation.

Ed

On Monday, November 5, 2012 10:57:44 AM UTC-8, emurmur wrote:
>
> I took a quick look at the code you linked to in stackoverflow.  I think 
> the code as written has a few problems.
>
> (NOTE: I'm looking at code I wrote using the Elemental library as 
> reference, so some of the calls might be different in the user library).
>
> a) The code is not filtering touches aimed at the button; it calls 
> TouchEvent.getTouches().  You want to call TouchEvent.getTargetTouches() on 
> touchstart and touchmove to get the the touches just for your button.  You 
> want to call TouchEvent.getChangedTouches() on touchend to get the end 
> touch.
> b) The code does not take into account multitouch.  On touchstart, you can 
> check that a single touch is available and bail out if there is more than 
> one.  Also, on touchstart, stash away the id of touch, then use this in 
> touchmove and touchend to find your touch id in the array that is returned 
> (in case the user has touched another finger later on).  You can also 
> simplify and check for multiple touches on touchmove and touchend and bail 
> again there.
> c) I believe you need to call stopPropagation on touchstart, since you are 
> handling the event. I don't see where they call event.preventDefault on the 
> touchstart event  You can see that this happens in the click handlers, but 
> not the touchstart.
>
> There is also a simpler way.  If you don't care about dragging starting on 
> a button, then you can simply call your click logic in the touchstart event 
> (and make sure you call event.preventDefault, TouchEvent.getTargetTouches() 
> and  check for single touch) and ignore touchmove and touchend.  All the 
> touchmove and touchend stuff is to handle the case of allowing dragging to 
> start on the button.
>
> Ed
>
> On Monday, November 5, 2012 5:29:53 AM UTC-8, markww wrote:
>>
>> Hi,
>>
>> I've got some buttons on a page which will primarily be used from mobile 
>> devices. The click handlers fire only after a 300ms delay (intentional on 
>> mobile devices as detailed here [
>> https://developers.google.com/mobile/articles/fast_buttons]).
>>
>> Looks like someone has tried to implement the above for GWT:
>>
>> http://stackoverflow.com/questions/9596807/converting-gwt-click-events-to-touch-events
>>
>> but I'm getting strange behavior from that FastButton implementation. Is 
>> there something baked into GWT 2.5 that does this for us?
>>
>> Thanks
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/google-web-toolkit/-/m6WSLcwPpQkJ.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-web-toolkit?hl=en.

Reply via email to