获取光标位置,鼠标点击插入文本

608 阅读1分钟

获取光标位置,鼠标点击插入文本

        /* 光标处插入文本 */
        insertText(insertTxt) {
            // 获取el-input中的input元素
            const elInput = this.$refs.targetIn.$el.firstElementChild
            // 获取el-input的值
            const txt = elInput.value
            // 获取选区开始位置
            const startPos = elInput.selectionStart
            // 获取选区结束位置
            const endPos = elInput.selectionEnd
            if (startPos === undefined || endPos === undefined) return
            console.log(startPos,endPos)
        
            // 将文本插入光标位置
            this.textarea = txt.substring(0, startPos) + insertTxt + txt.substring(endPos)
            // 将光标移至文本末尾
            elInput.focus()
            elInput.selectionStart = startPos + insertTxt.length
            elInput.selectionEnd = startPos + insertTxt.length
        }