Запретить автоматическую прокрутку текстовой области при изменении положения курсора
У меня есть текстовая область с большим количеством текста и вертикальной полосой прокрутки. Когда я перемещаю курсор за пределы видимой области (представьте, что у вас длинный документ, а затем нажимайте стрелку вниз, пока курсор не исчезнет с экрана), браузер автоматически прокручивает курсор в поле зрения, поэтому он всегда остается видимым.
Как я могу предотвратить это поведение? Мне нужно иметь возможность перемещать курсор за пределы видимой области, без автоматической прокрутки.
(технически это не текстовая область, а текстовый редактор на основе React, в DOM это div с content-editable установленным в true, не уверен, если это имеет значение)
1 ответ
Похоже, это невозможно. Из спецификации:
ДОЛЖНА быть предусмотрена возможность поместить каретку в любую из позиций легальной каретки программно, чтобы каретка была видна в ней на любом узле редактирования, находящемся в состоянии "события", "каретка" или "ввод".
https://w3c.github.io/editing/contentEditable.html
"ДОЛЖЕН поставить каретку" и "ДОЛЖЕН быть видимым" указывают на это.