Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.javascript > #31381 > unrolled thread
| Started by | Andrew Poulos <ap_prog@hotmail.com> |
|---|---|
| First post | 2016-09-16 18:26 +1000 |
| Last post | 2016-09-18 19:25 +1000 |
| Articles | 4 — 3 participants |
Back to article view | Back to comp.lang.javascript
Differentiate between touch start and click Andrew Poulos <ap_prog@hotmail.com> - 2016-09-16 18:26 +1000
Re: Differentiate between touch start and click Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-09-16 11:25 +0100
Re: Differentiate between touch start and click Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2016-09-17 00:06 +0200
Re: Differentiate between touch start and click Andrew Poulos <ap_prog@hotmail.com> - 2016-09-18 19:25 +1000
| From | Andrew Poulos <ap_prog@hotmail.com> |
|---|---|
| Date | 2016-09-16 18:26 +1000 |
| Subject | Differentiate between touch start and click |
| Message-ID | <I9SdnaAw9NE7MUbKnZ2dnUU7-VfNnZ2d@westnet.com.au> |
I have a touchstart event and a click event both triggering this function
function checkTrigger(e){
if (e.type != "click") {
e = e.touches[0];
}
var elem = document.elementFromPoint(e.pageX - window.pageXOffset,
e.pageY - window.pageYOffset);
...
}
To tell whether it was a touchstart or a click I'm using
(e.type != "click")
is that the right way to differentiate between the two or should I have
two smaller functions (one for each event) which then pass on the
relevant values to checkTrigger?
Andrew Poulos
[toc] | [next] | [standalone]
| From | Ben Bacarisse <ben.usenet@bsb.me.uk> |
|---|---|
| Date | 2016-09-16 11:25 +0100 |
| Message-ID | <87eg4kkupg.fsf@bsb.me.uk> |
| In reply to | #31381 |
Andrew Poulos <ap_prog@hotmail.com> writes:
> I have a touchstart event and a click event both triggering this function
>
> function checkTrigger(e){
> if (e.type != "click") {
> e = e.touches[0];
> }
>
> var elem = document.elementFromPoint(e.pageX - window.pageXOffset,
> e.pageY - window.pageYOffset);
> ...
> }
>
> To tell whether it was a touchstart or a click I'm using
> (e.type != "click")
> is that the right way to differentiate between the two or should I
> have two smaller functions (one for each event) which then pass on the
> relevant values to checkTrigger?
I don't think it matters much but I would, in general, make the test
positive (logically you are doing something when it's a touch event, not
when it isn't a click event). Indeed, you might even want to test for
the touches property itself.
I'd be more concerned about the pageX/pageY stuff which is not
standardised (though I may be behind the times on that). You usually
get the target element using "e.target" and "this" will usually refer to
the element to which the listener was added.
--
Ben.
[toc] | [prev] | [next] | [standalone]
| From | Thomas 'PointedEars' Lahn <PointedEars@web.de> |
|---|---|
| Date | 2016-09-17 00:06 +0200 |
| Message-ID | <1777691.oMNUckLgyt@PointedEars.de> |
| In reply to | #31381 |
Andrew Poulos wrote: > I have a touchstart event and a click event both triggering this function You should not. AISB, “touchstart” is equivalent to “mousedown” and “pointerdown”; ”click” is equivalent to “touchstart” followed by “touchend”, or “pointerdown” followed by “pointerup”, instead. > To tell whether it was a touchstart or a click I'm using > (e.type != "click") > is that the right way to differentiate between the two or should I have > two smaller functions (one for each event) which then pass on the > relevant values to checkTrigger? No. -- PointedEars FAQ: <http://PointedEars.de/faq> | SVN: <http://PointedEars.de/wsvn/> Twitter: @PointedEars2 | ES Matrix: <http://PointedEars.de/es-matrix> Please do not cc me. / Bitte keine Kopien per E-Mail.
[toc] | [prev] | [next] | [standalone]
| From | Andrew Poulos <ap_prog@hotmail.com> |
|---|---|
| Date | 2016-09-18 19:25 +1000 |
| Message-ID | <q_OdnYV7Q8DowEPKnZ2dnUU7-Y3NnZ2d@westnet.com.au> |
| In reply to | #31385 |
On 17/09/2016 8:06 AM, Thomas 'PointedEars' Lahn wrote: > Andrew Poulos wrote: > >> I have a touchstart event and a click event both triggering this function > > You should not. AISB, “touchstart” is equivalent to “mousedown” and > “pointerdown”; ”click” is equivalent to “touchstart” followed by > “touchend”, or “pointerdown” followed by “pointerup”, instead. While they have been times I have pressed a button on my mouse only to change my mind before I release the button I have never touched a touch-enabled device and have changed my mind before I lifted my finger. So for me "touchstart" seems appropriate. >> To tell whether it was a touchstart or a click I'm using >> (e.type != "click") >> is that the right way to differentiate between the two or should I have >> two smaller functions (one for each event) which then pass on the >> relevant values to checkTrigger? > > No. No to which one: the former, the latter, or both? Andrew Poulos
[toc] | [prev] | [standalone]
Back to top | Article view | comp.lang.javascript
csiph-web