Sometimes you want to programatically change an input value, like in a case of input validation.
replacing an input value is easy, but has a common drawback – the cursor position will reset.
to overcome it, we can use this simple JS snippet:
function handleInputValueChange(e) {
var cursorStart = e.target.selectionStart,
cursorEnd = e.target.selectionEnd;
// value manipulations...
e.target.setSelectionRange(cursorStart, cursorEnd);
}
* note that this specific snippet relies on passing an event, onChange for instance.