JSFiddle - React, Tailwind, and code Playground

HTML

<span>From the end, move the cursor back this many spaces: </span><input type='text' id='num' size='5'/>
<button>Submit</button>
<br/><br/>
<textarea>The cursor will move in here</textarea>

CSS

textarea{width:100%;height:10em;}

JavaScript

$(document).ready(function() {
    $('button').click(function() {
        var el    = $('textarea')[0],
            myval   = parseInt($('#num').val(), 10),
            cur_pos = 0;
        
        if (el.selectionStart) { 
            cur_pos = el.selectionStart; 
        } else if (document.selection) { 
            el.focus(); 
        
            var r = document.selection.createRange(); 
            if (r != null) {
                var re = el.createTextRange(), 
                    rc = re.duplicate(); 
                re.moveToBookmark(r.getBookmark()); 
                rc.setEndPoint('EndToStart', re); 
            
                cur_pos = rc.text.length; 
            }
        }  
        
        if (el.setSelectionRange) {
            el.focus();
            el.setSelectionRange(cur_pos-myval, cur_pos-myval);
        }
          else if (el.createTextRange) {
            var range = el.createTextRange();
            range.collapse(true);
            range.moveEnd('character', cur_pos-myval);
            range.moveStart('character', cur_pos-myval);
            range.select();
        }
    });
});