Курсор прыгает в textarea когда установлена автовысота

Добавляю автоматическую высоту в текстэрию, ввожу много текста и возникает проблема с курсором. Курсор перемещается вверх и вниз при нажатии любой клавиши внутри текста, добавленного в тексэрию.

Удалось добиться того, чтобы курсор переносился только вниз

Но как добиться того, чтобы курсор вообще не прыгал и оставался на прежнем месте?

set autoheight(value) {
this.#autoheight = Boolean(value);

if (!this.#textarea.isConnected) return;

if (this.#autoheight) {
  this.#textarea.style['overflow-y'] = 'hidden';
  this.#textarea.style.height = this.#minHeightTA > this.#textarea.scrollHeight
                              ? this.#minHeightTA + 'px'
                              : this.#textarea.scrollHeight + 'px';
  this.#textarea.addEventListener('input', this.#handleTextareaInput);
} else {
  this.#textarea.style['overflow-y'] = '';
  this.#textarea.style.height = '';
  this.#textarea.removeEventListener('input', this.#handleTextareaInput);
}

}

#handleTextareaInput = () => {
  const startPos = this.#textarea.selectionStart;
  const endPos = this.#textarea.selectionEnd;

  this.#textarea.style.height = 0;
  this.#textarea.style.height = this.#minHeightTA > this.#textarea.scrollHeight
                            ? this.#minHeightTA + 'px'
                            : this.#textarea.scrollHeight + 'px';

  this.#textarea.setSelectionRange(startPos, endPos);
}

Ответы (0 шт):