The `event-valuechange` module adds a "valuechange" event that fires when the `value` property of an ``, `
The input related events provided by browsers don't cleanly address the variety of ways users can modify an `` or `
The ideal change event would fire when the value becomes something it wasn't a moment ago.
The `valuechange` event provides more reliable input notifications than native events like `oninput` and `textInput`, particularly with changes that result from multiple-keystroke IME input.
``` commentTextarea.on('valuechange', updateLivePreview); ````valuechange` subscriptions monitor the element's value using a variety of mechanisms including subscriptions to `focus` and various keyboard events, and a poll to catch the stragglers. It seems like a lot of work, but it's the only way to be sure.
Polling is only active when the element is focused, and only one element is polled at a time, so the performance of your app should not be impacted.
`valuechange` only supports subscriptions on ``, `
`valuechange` does not capture `value` updates done in JavaScript unless the input is currently focused and polling. It's meant to capture changes made by the user, not by other code. So: `node.set('value', 'probably will not trigger valuechange');`