Spec-Zone.ru › Web APIs

Свойство direction объекта Selection

Свойство direction только для чтения интерфейса Selection — это строка, которая задаёт направление текущего выделения.

Значение определяется порядком, в котором пользователь выбирает граничные точки выделения. Например, пользователь может выделить текст, щелкнув начальной точкой, перетащив курсор и отпустив его в конечной точке. Если конечная точка расположена дальше в документе, чем начальная, то направление — "вперёд", а если конечная точка находится раньше начальной в документе, то направление — "назад". Значение "безнаправленное" используется, если направление выделения не подразумевается пользователем. Например, если пользователь сделал выделение двойным щелчком по слову или элементу, или выделение было выполнено программно.

Направление не меняется, если диапазон выделения изменяется, например, с помощью методов, таких как Range.selectNode().

Значение

Строка, описывающая тип текущего выделения. Возможные значения:

backward

Выделение выполнено назад.

forward

Выделение выполнено вперёд.

none

Выделение не выполнено или выделение безнаправленное.

Примеры

Этот пример позволяет проверить, как работает свойство direction , выведя в консоль текущее направление выделенного текста в абзаце.

HTML

HTML просто отображает элемент абзаца с некоторым текстом, который можно выделить.

<p id="text-box">
  Select text in this paragraph to see the selection direction.
</p>

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

JavaScript

Код проверяет, определено ли свойство direction , и если да, добавляет обработчик события selectionchange, который получает текущее выделение и выводит его направление в консоль. Если свойство не поддерживается, код выводит сообщение об этом и скрывает текст для выделения.

const input = document.getElementById("text-box");

if ("direction" in Selection.prototype) {
  document.addEventListener("selectionchange", () => {
    const selection = window.getSelection();
    log(`Selection direction: ${selection.direction}`);
  });
} else {
  log("direction property not defined");
  input.hidden = true;
}

Результат

Если свойство поддерживается, выделите текст двойным щелчком и перетаскиванием в разных направлениях.

Спецификации

Спецификация
Selection API
# dom-selection-direction

Совместимость с браузерами

Рабочий стол Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
direction Нет Нет 126 Нет 17 Нет 126 Нет 17 Нет Нет

См. также

  • Selection

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/Selection/direction

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API