Какие сценарии, в которых вы бы позаботились о направлении выбора браузера?

API выбора DOM браузера предоставляет свойства, показывающие, с какого узла и смещения начинается выбор (Selection.anchorNode а также Selection.anchorOffset) и на каком узле и смещении выбор заканчивается (Selection.focusNode а также Selection.focusOffset). В некоторых из моих методов обработки выбора мне нужно нормализовать эти значения в согласованном направлении. Меня удивило, в каких ситуациях будет иметь значение направление отбора? Это не для обработки языков RTL; пользователи произвольно выбирают в любом направлении на любом языке.

1 ответ

Решение

Я задал вопрос на доске поддержки ProseMirror. Существуют распространенные модели поведения, которые используют направленность выбора DOM:

  • Shift-click, который использует конец привязки выделения, чтобы определить (когда пользователь щелкает за пределами существующего выделения), как выбор должен быть расширен;
  • Shift-стрелка, которая использует конец привязки аналогично нажатию клавиши Shift, но с клавишами со стрелками вместо щелчка мыши, чтобы определить, как следует расширить выбор.
  • Отображение всплывающей подсказки в месте, ближайшем к мыши пользователя после выбора.
Другие вопросы по тегам