feat: x-on
.passive.false
modifier
#4404
Open
+32
−2
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.
As discussed in #4403 , this PR adds a way to set event listeners to
{passive: false}
:Use case
In horizontal sliders, it's necessary to stop vertical scrolling of the viewport when flicking through the slides. Registering a non-passive touchmove handler makes this possible:
touchstart
event and save the x-coordinatetouchmove
event with{passive: false}
and check if the x-coordinate is more than 3 (or whatever) pixels away from thetouchstart
coordinate. If so, disable vertical scrolling by callinge.preventDefault()
Checks
Questions
{passive: true}
usingx-on.passive.true
but wasn't able to get it to work. The handler in the cypress test just didn't fire at all (defaultPrevented
stayednull
, even after the click). But then I thought why even providepassive.true
if that's the current behavior of.passive
already?on.js
, would we need to add"false"
to the list inisListeningForASpecificKeyThatHasntBeenPressed
? Not sure what the function does exactly..passive.false
, as there are no other options as for example in the.transition
modifier?.no-passive
as suggested by @ekwoka ?.passive-false
?true
asfalse
is possible?