Как получить значение символа начальной позиции текста, выделенного в абзаце, с помощью vue.js

Я хочу получить начальную позицию выделенного текста в абзаце.

Например, если текст абзаца «Это абзац». и я выбираю «абзац» своим курсором, вычисленное значение свойства должно быть 10.

Я попробовал стратегию, описанную в https://stackoverflow.com/a/48149119/10373864. Вот код:

<p ref="paragraph">This is a paragraph.</p>

computed: {
  start: function () { 
    return this.$refs.paragraph.selectionStart
  }
}

Однако значение start равно undefined. Кажется, описанный выше метод работает только с textarea. Я не могу использовать textarea. Как я могу заставить его работать с абзацем?


person erup    schedule 16.01.2019    source источник
comment
Как насчет этих ситуаций: 1) выделение начинается в абзаце, но заканчивается снаружи; 2) выделение начинается за пределами абзаца, а заканчивается внутри; 3) выделение начинается и заканчивается за пределами абзаца, но включает его?   -  person Styx    schedule 16.01.2019