在项目中会遇到这样的情况,用户可以在textarea中输入,也可以选择既有的可供选择的 段落,现需求是用户把光标放在哪,用户选择后的 段落就 插进 该处位置。
实现方式主要是依靠俩点:
一、利用
doxument.selection (这是IE的)
docuemnt.getElementById(xxxx).selsectionStart (这是谷歌等的)
这俩个属性 来找到光标的位置
二、就是利用 字符串的substring 的方式 切割 再拼接;
**
以下是源代码
**
在vue项目中的代码
const areaField = this.$refs.voicearea; // 拿到目标标签;
// IE浏览器
if (document.selection) {
areaField.focus();
const sel = document.selection.createRange();
sel.text = item.text;
} // 谷歌 Firefox 等
else if (areaField.selectionStart || areaField.selectionStart === '0') {
const startPos = areaField.selectionStart;
const endPos = areaField.selectionEnd;
const restor