在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的主要内容,如果未能解决你的问题,请参考以下文章
重要重要如何在div是contentEditable=true的里面获取光标的位置,并在光标位置处插入内容。焦点位置插入指定内容