JSFiddle - React, Tailwind, and code Playground

by juErik

HTML

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.0/jquery.min.js"></script>
<textarea id="pan3_Grm" placeholder="Grammatik ...">Dies ist ein Test - maker ein Teil</textarea>
<button id="saveGrm">Save Grm</button>

JavaScript

$('#saveGrm').click(function(){
			insert_code('pan3_Grm','<b>','</b>');
      //alert('jj');
  }); // ------------------------
    
    function insert_code(id,tag1,tag2) {
        var input = document.getElementById(id);
            input.focus();

        if (typeof document.selection != 'undefined') {
            var range = document.selection.createRange();
            var insText = range.text;
            range.text = tag1 + insText + tag2;
            range = document.selection.createRange();
            if (insText.length == 0) { range.move('character', -tag2.length); }
            else { range.moveStart('character', tag1.length + insText.length + tag2.length); }
            range.select();

        }else if (typeof input.selectionStart != 'undefined') {
            var start = input.selectionStart;
            var end = input.selectionEnd;
            var insText = input.value.substring(start, end);
            input.value = input.value.substr(0, start) + tag1 + insText + tag2 + input.value.substr(end);
            var pos;
            if (insText.length == 0) { pos = start + tag1.length; }
            else { pos = start + tag1.length + insText.length + tag2.length; }
            input.selectionStart = pos;
            input.selectionEnd = pos;
        }else{
            var pos;
            var re = new RegExp('^[0-9]{0,3}$');
            while (!re.test(pos)) { pos = prompt("EinfĂĽgen an Position (0.." + input.value.length + "):", "0"); }
            if (pos > input.value.length) { pos = input.value.length; }
            var insText = prompt("Bitte geben Sie den zu formatierenden Text ein:");
            input.value = input.value.substr(0, pos) + tag1 + insText + tag2 + input.value.substr(pos);
        }
    }  // --------------- :insert_code(id,tag1,tag2)