JSFiddle - React, Tailwind, and code Playground

by mark69_fnd

HTML

<input type='text' value='0123456789'/>
<button id='m1'>Method 1</button>
<button id='m2'>Method 2</button>

JavaScript

YUI().use("node",
function(Y) {
    var inputNode = Y.one('input');
    
    function createSelection(domNode, start, end) {
      domNode.focus();
      if (domNode.createTextRange) {
        var selRange = domNode.createTextRange();
        selRange.collapse(true);
        selRange.moveStart('character', start);
        selRange.moveEnd('character', end);
        selRange.select();
      } else if (domNode.setSelectionRange) {
        domNode.setSelectionRange(start, end);
      } else if (domNode.selectionStart !== undefined) {
        domNode.selectionStart = start;
        domNode.selectionEnd = end;
      }
    }

    Y.one('#m1').on('click', function() {    
        inputNode.focus();
        inputNode.set("selectionStart", 3);
        inputNode.set("selectionEnd", 7);
    });
    Y.one('#m2').on('click', function() {    
        inputNode.focus();
        createSelection(inputNode.getDOMNode(), 3, 7);
    });
});