Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add an event type like html's change event? #702

Open
AmaiKinono opened this issue Oct 18, 2024 · 1 comment
Open

Add an event type like html's change event? #702

AmaiKinono opened this issue Oct 18, 2024 · 1 comment
Labels
discussion Meta talk and feedback enhancement New feature or request

Comments

@AmaiKinono
Copy link
Contributor

The change event we have for now seems to be more close to the input event in html. This MDN doc explains the difference between input and change:

The input event is fired every time the value of the element changes. This is unlike the change event, which only fires when the value is committed, such as by pressing the enter key or selecting a value from a list of options.

This describes when is change event fired.

I'm thinking whether we should have an event type like change in html, which is useful at times, e.g., to normalize user input, to record an undo checkpoint, etc.

For range sliders, I think (in html) the input event is fired during dragging, and change is fired upon releasing the mouse.

@mikke89 mikke89 added enhancement New feature or request discussion Meta talk and feedback labels Oct 19, 2024
@mikke89
Copy link
Owner

mikke89 commented Oct 19, 2024

Yeah, I agree. Ideally, we would use the same behavior as in HTML, add a new input event for the current behavior, and make change only trigger when committing the value.

I would also add to this that we should only emit any of these events when the user initiates the change, not when changing it programmatically. I believe that is how HTML behaves, and it might also solve some binding loops like in #701, and events being emitted upon initially setting the values.

This would be a breaking change though. Although, I'm not sure how bad of a breaking change it would be, maybe in many/most causes it would still work fine. Needs some testing I think to understand the implications. It might be we'll have to wait to merge it until the next major version change.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discussion Meta talk and feedback enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants