Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Omitting mouse & touch events, a tap goes: pointerdown, pointerup, click.

A double tap goes: pointerdown, pointercancel.

If the pointerdown event does event.preventDefault, it goes pointerdown, pointerdown.

The double-tap prevents the click. Preventing default in the pointerdown prevents the double-tap and also the click.



But that still means that the browser has to determine if it's a single tap or double tap before sending the pointerup, so it'll arrive after the 300ms delay.


No, it doesn't. The double tap gesture comes after pointer events. Pointer events can prevent double tap. Whereas click comes after the opportunity for double-tap, and double-tap will prevent click.

Try it in IE, or another browser using touch events.


> The double tap gesture comes after pointer events.

You make no sense, by your own description the double tap gesture changes what pointer events fire, pointerup can not fire until the UA knows for certain it's not going to be a doubletap, same as click.


If you don't trust me on this, that's fine. Test it for yourself.

Double tap does not change pointer events (https://dvcs.w3.org/hg/pointerevents/raw-file/tip/pointerEve...), they come first. But 'click' is not a pointer event, it's the result of some pointer events, and the lack of the browser doing something else, such as scrolling, double tap etc.

But seriously, don't take my word for it. Test it.


http://jsbin.com/IjerotI/1/quiet - here's a test for you. Try tapping, then double tapping on that page. See the difference in events.

This is touch events rather than pointer events, but the behaviour is similar. You can modify the test if you don't believe me.


> If you don't trust me on this, that's fine.

For the third time (might just be the charm), you contradict yourself, it's not that I don't trust you it's that you're internally inconsistent.


If I'm not explaining it properly, see the test and work it out yourself. Touch & pointer events happen before double tap (and can prevent it) click happens after all those and can be prevented.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: