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;
},