Spec-Zone.ru › Web APIs

InputEvent: метод getTargetRanges()

Базовая Широко доступна

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с января 2020 года.

  • Подробнее
  • Полная совместимость
  • Отправить отзыв

Метод getTargetRanges() интерфейса InputEvent возвращает массив объектов StaticRange, которые будут затронуты изменениями в DOM, если событие ввода не отменено.

Это позволяет веб-приложениям переопределять поведение редактирования текста перед модификацией браузером дерева DOM и обеспечивает больший контроль над событиями ввода для повышения производительности.

В зависимости от значения inputType и текущего хоста редактирования, ожидаемое значение возврата этого метода меняется:

inputType Хост редактирования Результат выполнения getTargetRanges()
"historyUndo" или "historyRedo" Любой пустой массив
Все остальные contenteditable массив объектов StaticRange, связанных с событием
Все остальные input или textarea пустой массив

Синтаксис

getTargetRanges()

Параметры

Нет.

Возвращаемое значение

Массив объектов StaticRange.

Примеры

Обнаружение функции

Следующая функция возвращает true, если beforeinput, а значит и getTargetRanges, поддерживается.

function isBeforeInputEventAvailable() {
  return (
    window.InputEvent &&
    typeof InputEvent.prototype.getTargetRanges === "function"
  );
}

Базовое использование

В следующем примере выбирается элемент contenteditable и используется событие beforeinput для регистрации результата getTargetRanges().

const editableElem = document.querySelector('[contenteditable="true"]');

editableElem.addEventListener("beforeinput", (e) => {
  const targetRanges = e.getTargetRanges();
  console.log(targetRanges);
});

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

Спецификация
Input Events Level 2
# dom-inputevent-gettargetranges

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

Рабочий стол Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на IOS Samsung Internet WebView Android
getTargetRanges 60 79 87 47 10.1 60 87 44 10.3 8.0 60

© 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/InputEvent/getTargetRanges

Spec-Zone.ru

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