- User presses down on a button.
- User starts to drag downward.
- Page starts scrolling (if page content tall enough for scrolling)
- User releases outside original button rectangle.
- Does that original button still fire a push event?
I tried this on the "Fast Clear" button at the bottom as a test,
Thanks
On Mon, Dec 17, 2012 at 8:58 AM, Ashton Thomas <ashton@acrinta.com> wrote:
Also, to get the full benefits of this you will want to test on a mobile device (that handles touch events and puts a delay on onClick).On a desktop browser, you should notice no difference since onClick is fired immediately and there are no touch events.To really see the benefit, rapidly click the "fast" buttons (using fast-press) and then try the same with the "slow" buttons (using regular clickHandler)- Ashton
On Sunday, December 16, 2012 5:36:17 PM UTC-5, Ashton Thomas wrote:I wanted to take a shot at this implementation using the previous answer and Ed's comments:Example with code:Not sure if I hit all the edge cases so if someone notices anything wrong, please let me know- Ashton
On Monday, November 5, 2012 2:18:11 PM UTC-5, emurmur wrote: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:but I'm getting strange behavior from that FastButton implementation. Is there something baked into GWT 2.5 that does this for us?ThanksTo view this discussion on the web visit https://groups.google.com/d/msg/google-web-toolkit/-/y2H4Yk7xV5MJ.--
You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group.
To post to this group, send email to google-web-toolkit@googlegroups.com.
To unsubscribe from this group, send email to google-web-toolkit+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group.
To post to this group, send email to google-web-toolkit@googlegroups.com.
To unsubscribe from this group, send email to google-web-toolkit+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
No comments:
Post a Comment