JSFiddle - React, Tailwind, and code Playground

by skirtle

HTML

<script src="https://unpkg.com/[email protected]/dist/vue.js"></script>
<div id="app">
  <input
    v-model="value"
    @select="updateSelection"
    @click="updateSelection"
    @input="updateSelection"
    @keyup="updateSelection"
  >
  <p>
    {{ selectionStart }} - {{ selectionEnd }}
  </p>
</div>

JavaScript

new Vue({
  data () {
    return {
      value: 'abcdefgh',
      selectionStart: 0,
      selectionEnd: 0
    }
  },
  
  methods: {
    updateSelection (ev) {
      this.selectionStart = ev.target.selectionStart
      this.selectionEnd = ev.target.selectionEnd
    }
  }
}).$mount('#app')