uniapp textarea 组件 获取 selectionStart undefind
<template> <view> <textarea v-model="message" id="myArea" placeholder="请输入内容并选择部分文本"></textarea> <button @click="getSelection">光标处插入内容</button> <text>{{ selectionStart }}</text> </view> </template> <script> export default { data() { return { message: '', }; }, methods: { getSelection() { // 获取textarea光标索引 let currentArea = document.getElementById('myArea').getElementsByTagName("textarea")[0];//获取当前 textarea let start = currentArea.selectionStart; this.message = this.message.substring(0, start) +'[内容]'+this.message.substring(start); }, }, }; </script>
当在app环境中,上面的 getElementById 就不支持,使用blur事件,便可
<textarea v-model="message" @blur="messageOnBlur" placeholder="请输入内容" ></textarea>
//获取光标位置
messageOnBlur(e){
this.messageCursorStart = e.detail.cursor;
},