解决方法
不,没有. IE有TextRange对象来完成这项工作. IE> = 9,最后一段时间的所有其他内容在textareas和文本输入上都有selectionStart和selectionEnd属性.此特定任务也不错:以下内容将删除当前选择(如果存在),在插入符号处插入文本并在插入的文本后立即重新定位插入符号,在所有主流浏览器中:
function insertTextAtCursor(el,text) { var val = el.value,endIndex,range; if (typeof el.selectionStart != "undefined" && typeof el.selectionEnd != "undefined") { endIndex = el.selectionEnd; el.value = val.slice(0,el.selectionStart) + text + val.slice(endIndex); el.selectionStart = el.selectionEnd = endIndex + text.length; } else if (typeof document.selection != "undefined" && typeof document.selection.createRange != "undefined") { el.focus(); range = document.selection.createRange(); range.collapse(false); range.text = text; range.select(); } }