Guest User

Untitled

a guest
Oct 18th, 2018
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function insert_text(el,ins){
  2.     if(el.setSelectionRange){
  3.         var selectedText=el.value.substring(el.selectionStart,el.selectionEnd);
  4.         var poz=el.value.length;
  5.         if(selectedText){
  6.             ins=ins.replace(/_x_/,selectedText);
  7.             if(ins.indexOf('!')==-1){
  8.                 poz=el.selectionStart+ins.length;
  9.             }
  10.             else{
  11.                 poz=el.selectionStart+ins.indexOf('!');
  12.                 ins=ins.replace(/!/,'');
  13.             }
  14.         }
  15.         else{
  16.             ins=ins.replace(/=!/,'');
  17.             poz=el.selectionStart+(ins.indexOf('_x_')<0?0:ins.indexOf('_x_'));
  18.             if(poz<0)
  19.                 poz=0;
  20.             ins=ins.replace(/_x_/,'');
  21.         }
  22.         var storedTop=el.scrollTop;
  23.         el.value=el.value.substring(0,el.selectionStart)+ins+el.value.substring(el.selectionEnd,el.value.length);
  24.         el.focus();
  25.         el.setSelectionRange(poz,poz);
  26.         el.scrollTop=storedTop;
  27.     }
  28.     else if(document.selection&&document.selection.createRange){
  29.         el.focus();
  30.         var range=document.selection.createRange();
  31.         var storedTop=el.scrollTop;
  32.         var stored_range=range.duplicate();
  33.         stored_range.moveToElementText(el);
  34.         stored_range.setEndPoint('EndToEnd',range);
  35.         el.selectionStart=stored_range.text.length-range.text.length;
  36.         el.selectionEnd=el.selectionStart+range.text.length;
  37.         if(range.text!=''){
  38.             ins=ins.replace(/_x_/,range.text);
  39.             if(ins.indexOf('!')==-1){
  40.                 poz=el.selectionStart+ins.length;
  41.             }
  42.             else{
  43.                 poz=el.selectionStart+ins.indexOf('!');
  44.                 ins=ins.replace(/!/,'');
  45.             }
  46.         }
  47.         else{
  48.             ins=ins.replace(/!/,'');
  49.             poz=el.selectionStart+(ins.indexOf('_x_')<0?0:ins.indexOf('_x_'));
  50.             if(poz<0)
  51.                 poz=0;
  52.             ins=ins.replace(/_x_/,'');
  53.         }
  54.         range.text=ins;
  55.         var newRange=el.createTextRange();
  56.         newRange.moveStart('character',poz);
  57.         newRange.collapse();
  58.         newRange.select();
  59.         el.focus();
  60.         el.scrollTop=storedTop;
  61.     }
  62. }
Add Comment
Please, Sign In to add comment