Какие сценарии, в которых вы бы позаботились о направлении выбора браузера?
API выбора DOM браузера предоставляет свойства, показывающие, с какого узла и смещения начинается выбор (Selection.anchorNode
а также Selection.anchorOffset
) и на каком узле и смещении выбор заканчивается (Selection.focusNode
а также Selection.focusOffset
). В некоторых из моих методов обработки выбора мне нужно нормализовать эти значения в согласованном направлении. Меня удивило, в каких ситуациях будет иметь значение направление отбора? Это не для обработки языков RTL; пользователи произвольно выбирают в любом направлении на любом языке.
1 ответ
Решение
Я задал вопрос на доске поддержки ProseMirror. Существуют распространенные модели поведения, которые используют направленность выбора DOM:
- Shift-click, который использует конец привязки выделения, чтобы определить (когда пользователь щелкает за пределами существующего выделения), как выбор должен быть расширен;
- Shift-стрелка, которая использует конец привязки аналогично нажатию клавиши Shift, но с клавишами со стрелками вместо щелчка мыши, чтобы определить, как следует расширить выбор.
- Отображение всплывающей подсказки в месте, ближайшем к мыши пользователя после выбора.