共计 460 个字符,预计需要花费 2 分钟才能阅读完成。
就像 QQ 的聊天输入框一样,我先输入十个字,然后把光标移动到第三个字后面,这时候我想记录一下光标的位置,然后在当前位置插入一个 emoji 表情,
请问有这种事件吗?
今天我尝试了 focue 和 input 事件,貌似都不太行!
主要的代码:
const cursorPosition = ref({})
// 记录光标位置
const updateCursorPosition = ()=>{
uni.getSelectedTextRange({success: res => {cursorPosition.value = {...res}
}
})
}
function onInputFocus(e) {updateCursorPosition();
}
function onInputBlur(){updateCursorPosition();
}
function onInput(){updateCursorPosition();
}
一个主要的现象就是,文字输入完成,移动光标到某个字后面,emoji 表情就会插入到文字的最后,这时候我再移动光标,再插入 emoji, 貌似位置以正确了
正文完