JSFiddle - React, Tailwind, and code Playground
by Alexandre Simoes
HTML
<input type="text" value="1234" onfocus="focusEndofData(this)" />
<input type="text" value="1234" onfocus="focusEndofData(this)" />
JavaScript
function focusEndofData(e) {
setTimeout(function () {
var len = e.value.length;
if (e.setSelectionRange) {
console.log('Using native setSelectionRange');
e.setSelectionRange(len, len);
} else {
console.log('Using setSelectionRange Polyfil');
var thisObj = e,
nodeName = thisObj.nodeName.toUpperCase(),
selRange;
if( nodeName != "INPUT" && nodeName != "TEXTAREA" ) {
return;
}
selRange = thisObj.createTextRange();
selRange.collapse(true);
selRange.moveStart('character', len);
selRange.moveEnd('character', len);
selRange.select();
}
}, 0);
};