Firefox: выделение абзаца с тройным щелчком приводит к поведению, которое я не ожидаю

Тройной щелчок мыши, чтобы выбрать наборы абзацев document.getSelection().leftOffset до 0 (что кажется правильным), но rightOffset свойство установлено в 1, поэтому код, который обрабатывает выделение, дает результаты, соответствующие только первому символу в выбранном абзаце. Это ошибка, или я что-то упустил?

1 ответ

Решение

Я полагаю, вы имеете в виду anchorOffset а также focusOffset скорее, чем leftOffset а также rightOffset,

В любом случае, да, вы что-то упускаете anchorOffset а также focusOffset не обязательно относительно текстового узла. Вместо этого они могут быть относительно элемента, в этом случае смещение является числом дочерних узлов узла контейнера (anchorNode или же focusNode) предшествующей выбранной границе. В вашем случае выбор продолжается от начала нулевого дочернего элемента (т. Е. До начала) родительского элемента абзаца до точки после первого дочернего элемента (то есть самого абзаца).

Другие вопросы по тегам