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);
};