Fix(interact outside) touch devices leak click events to dom elements #1118
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.
closes #1115
This closes an issue where clicking outside a dialog on a touch device would trigger a click event on the element underneath the dialog.
This only happens when using pointer events on touch devices. After
pointerup
is called on touch devices, we need to wait for aclick
event before triggering an outside interaction. There is a delay betweenpointerup
andclick
during which we used to close the dialog and hence trigger a click event on the element under the dialog.Technically this issue should also occur when using touch events, which we use when pointer events are not available, however this issue doesn't occur in our case when using touch events because we call
e.preventDefault()
which will prevent a click event occurring after atouchend
Before
Screen.Recording.2024-03-24.at.12.35.02.PM.mov
Untitled.mov
After
Screen.Recording.2024-03-24.at.12.34.30.PM.mov
Screen.Recording.2024-03-24.at.12.41.15.PM.mov