Prevent touchstart event if startEvent has already been registered #360
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR implements or fixes...
We used this library for a website that was being run on a kiosk. The Kiosk runs Chrome/Chromium on a system called Kioware with a large touch screen that supports multi touch. With this configuration, a strange issue popped up – namely that sometimes visitors would start dragging elements and find that the mirror elements were left behind and never removed. After some initial trouble reproducing the issue, we found that using two fingers to tap two different elements at the same time reliably reproduced the issue. See this screencast for an illustration of the issue (in it I tap multiple times with two fingers simultaneously on different draggable items): https://www.dropbox.com/s/ssyllrws4y5hgnt/Draggable%20multi%20touch%20bug.MP4?dl=0
To fix this I added a simple check in the
onTouchStart
handler that prevents the event ifthis.startEvent
has already been registered. Initially I checked ifthis.dragging
was truthy, but this didn't work since that property was only being set after the delay timeout callback had been run.This PR closes the following issues...
I didn't submit an issue (and no issue seems to have described this problem before)
Does this PR require the Docs to be updated?
No
Does this PR require new tests?
No
This branch been tested on...
Browsers: