js 获取光标位置并插入文本

主要的属性

element.selectionStart; // 获取光标开始的位置
element.selectionEnd; // 获取光标结束的位置 

设置光标位置直接赋值就行

element.selectionStart=1

// 输入文本
insertTxtAndSetcursor(text) {
  let element = this.inputDom; // 获取到指定标签
  let startPos = element.selectionStart; // 获取光标开始的位置
  let endPos = element.selectionEnd; // 获取光标结束的位置
  if (startPos === undefined || endPos === undefined) return; // 如果没有光标位置 不操作
  let oldTxt = element.value; // 获取输入框的文本内容
  let result =
      oldTxt.substring(0, startPos) + text + oldTxt.substring(endPos); // 将文本插入
  element.value = result; // 将拼接好的文本设置为输入框的值
  element.focus(); // 重新聚焦输入框
  element.selectionStart = startPos + text + "".length; // 设置光标开始的位置
  element.selectionEnd = startPos + text + "".length; // 设置光标结束的位置
},

你可能感兴趣的:(javascript,开发语言,设置光标位置,插入文本)