JSFiddle - React, Tailwind, and code Playground

by sandeepan_nits

HTML

<textarea id='text' cols="40" rows="20" onbeforedeactivate="storeSelectionIeCase();" onblur="storeSelectionOthersCase();">
</textarea>

<div id="opt">
    <input id="input" type="text" size="35">
    <input type="button" onclick='pasteIntoInput(document.getElementById("input").value)' value="button"/>

</div>

JavaScript

var storedSelectionStart = null;
var storedSelectionEnd = null;

function pasteIntoInput(text) 
{ 

    el=document.getElementById("text");
    
    el.focus();    
    if((storedSelectionStart != null) && (storedSelectionEnd != null))
    {
        start = storedSelectionStart;
        end = storedSelectionEnd;
    }
    else
    {
        start = el.selectionStart;
        end = el.selectionEnd;
    }
    if (typeof start  == "number"&& typeof end == "number") 
    { 
        var val = el.value; 
        var selStart = start;
        el.value = val.slice(0, selStart) + text + val.slice(end );        
        end  = start  = selStart + text.length;
    } 
    else if (typeof document.selection != "undefined") 
    {
       var textRange = document.selection.createRange();        
       textRange.text = text;       
       textRange.collapse(false);        
       textRange.select();
    } 
}  

function storeSelectionOthersCase()
{
    if(!(isBrowserIE6() || isBrowserIE7()))
    {
        storeSelection();
    }
    else
    {
        return false;
    }
}


function storeSelectionIeCase()
{
    if((isBrowserIE6() || isBrowserIE7()))
    {
        storeSelection();
    }
    else
    {
        return false;
    }
}
    
    
function storeSelection()
{
    //get selection
    el=document.getElementById("text");
    
    var el = document.getElementById("text");
    var sel = getInputSelection(el);
    //alert("check"+sel.start + ", " + sel.end);
    
    
    storedSelectionStart  = sel.start;
    storedSelectionEnd = sel.end;
  
   //alert("see"+storedSelectionStart  +" - "+storedSelectionEnd );
}

function getInputSelection(el) 
{
    var start = 0, end = 0, normalizedValue, range,
        textInputRange, len, endRange;

    if (typeof el.selectionStart == "number" && typeof el.selectionEnd == "number") {
        start = el.selectionStart;
        end = el.selectionEnd;
    } else {
        range = document.selection.createRange();

        if (range &&...