Touch event is fired as move end event
Reported by
lan.l...@gmail.com,
May 4 2017
|
|||
Issue descriptionExample URL: https://openlayers.org/en/latest/examples/box-selection.html Steps to reproduce the problem: 1. Using android, open link: https://openlayers.org/en/latest/examples/box-selection.html 2. Tap map 3. Polygon should be selected, but it is not What is the expected behavior? Polygon should be outlined What went wrong? Move end event fired when touch/click event occurs. This link also shows move end event firing rather than click events https://openlayers.org/en/latest/examples/moveend.html Does it occur on multiple sites: Yes Is it a problem with a plugin? N/A Did this work before? Yes 57.0.2987.132 worked for me Does this work in other browsers? Yes Chrome version: 58.0.3029.83 Channel: stable OS Version: Flash Version: I'm not familiar with how these bugs and resolutions work. We are very broken on our mobile app because of this.
,
May 5 2017
Another website example that struggles from the same problem, except the double tap event isnt fired. https://worldview.earthdata.nasa.gov
,
May 5 2017
This is likely because we are sending pointermove events now for events inside the slop region. If you use canary which doesn't have the change the URI works correctly. Likely something in the openlayers code needs to be updated to account for pointermoves inside the slop region. mustaq@ can you investigate?
,
May 5 2017
Yes, it looks like caused by pointermove events within slop: on Chrome stable, a quick tap still works but a slow tap doesn't.
,
May 5 2017
I confirmed that it's not a Chrome bug through adding a hack pointermove listener through devtools that drops any pointermove events close to the pointerdown. With the hack, OpenLayer links above seem working fine. Files a OpenLayers bug: https://github.com/openlayers/openlayers/issues/6776
,
May 5 2017
Hi mustaq, can you please let me know about the little hack you use? Thanks
,
May 5 2017
It was really an ugly hack---I am not comfortable sharing it as-is publicly, to prevent bad/short-sighted usage. Let's wait for a fix in OpenLayers. If you really want to try, here is the idea: add a capturing listener for pointerdown at window which stores the starting position, then add a capturing listener for pointermove which stops immediate propagation if the event is too close to the stating position.
,
May 5 2017
Thanks man! help a lot!
,
May 8 2017
I confirm that it's an OpenLayers bug. See https://github.com/openlayers/openlayers/pull/6778 for a possible fix.
,
Nov 24 2017
I have a mobile site. I have set the viewport and the touch listeners not to allow the user to adjust the page. It works fine on all of the Google browsers except Chrome 58.0.3029.110. It sees the double touch but ignores the prevent order. Chrome 60.0.3112.107 work perfect. Was this an issue with the ver 58.0.3029.110? |
|||
►
Sign in to add a comment |
|||
Comment 1 by tkent@chromium.org
, May 5 2017Labels: Needs-Bisect