How do I insert a character at the caret with javascript?

前端 未结 6 986
-上瘾入骨i
-上瘾入骨i 2021-01-02 05:55

I want to insert some special characters at the caret inside textboxes using javascript on a button. How can this be done?

The script needs to find the active textbo

6条回答
  •  甜味超标
    2021-01-02 06:23

    A butchered version of @bmb code in previous answer works well to reposition the cursor at end of inserted characters too:

    var lasttext;
    
    function doinsert_ie() {
     var ttInsert = "bla";
     lasttext.focus();
     var sel = document.selection.createRange();
     sel.text = ttInsert;
     sel.select();
    }
    
    function doinsert_ff() {
     var oldtext = lasttext.value;
     var curposS = lasttext.selectionStart;
     var curposF = lasttext.selectionEnd;
     pretext = oldtext.substring(0,curposS);
     posttest = oldtext.substring(curposF,oldtext.length);
     var ttInsert='bla';
     lasttext.value = pretext + ttInsert + posttest;
     lasttext.selectionStart=curposS+ttInsert.length;
     lasttext.selectionEnd=curposS+ttInsert.length;
    }
    

提交回复
热议问题