在textarea和input光标处插入内容,支持ie

Posted liys-kiki

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在textarea和input光标处插入内容,支持ie相关的知识,希望对你有一定的参考价值。

项目需求,用户要能够输入和点击外面的公式去插入到textaera中,试了好几种方法,有的是在谷歌下好使,在ie下不好使,最后找到了下面这个方法,目前在ie8以上都可以生效。直接上代码

 1 function insertAtCursor(myField, myValue) {
 2         //IE support
 3         if (document.selection) {
 4             myField.focus();
 5             sel = document.selection.createRange();
 6             sel.text = myValue;
 7         }
 8         //MOZILLA and others
 9         else if (myField.selectionStart || myField.selectionStart == ‘0‘) {
10             var startPos = myField.selectionStart;
11             var endPos = myField.selectionEnd;
12             myField.value = myField.value.substring(0, startPos)
13                     + myValue
14                     + myField.value.substring(endPos, myField.value.length);
15             myField.selectionStart = startPos + myValue.length;
16             myField.selectionEnd = startPos + myValue.length;
17         } else {
18             myField.value += myValue;
19         }
20     }
21   

调用也相当的简单

insertAtCursor(‘DOM节点’,‘内容’);

 

以上是关于在textarea和input光标处插入内容,支持ie的主要内容,如果未能解决你的问题,请参考以下文章

textarea光标处插入文字

使用Javascript在文本区域中的光标处插入文本

重要重要如何在div是contentEditable=true的里面获取光标的位置,并在光标位置处插入内容。焦点位置插入指定内容

js在光标处插入内容

jquery 或者js 怎么获取页面光标所在的元素

input或textarea中关于光标移动问题