input/textarea输入框鼠标聚焦插入内容,定位新焦点
解决思路:获取鼠标聚焦的位置,根据焦点位置将原有语句拆分拼接
let input = document.getElementById('input')
let textToInsert = '插入内容';
let startPosition = input.selectionStart;
let endPosition = input.selectionEnd;
input.value = input.value.substring(0, startPosition) + textToInsert + input.value.substring(endPosition, input.value.length);
input.focus();
//如果获取焦点focus之后,setSelectionRange()光标位置不正确,需要做延时操作
setTimeout(function(){
input.setSelectionRange(startPosition + textToInsert.length, startPosition + textToInsert.length);
},100)