EditContext: событие textupdate
Ограниченная доступность
Эта функция не относится к Baseline, так как она не работает в некоторых из наиболее широко используемых браузеров.
Экспериментальная: Это экспериментальная технология.
Перед использованием в рабочей среде внимательно проверьте таблицу совместимости браузеров.
Событие textupdate интерфейса EditContext срабатывает, когда пользователь вносит изменения в текст или выделение редактируемой области, присоединённой к экземпляру EditContext.
Это событие позволяет отобразить обновлённый текст и выделение в пользовательском интерфейсе в ответ на ввод пользователя.
Синтаксис
Используйте имя события в методах, таких как addEventListener(), или установите свойство обработчика события.
addEventListener("textupdate", (event) => {});
ontextupdate = (event) => {};
Тип события
Объект TextUpdateEvent. Наследуется от Event.
Свойства события
В дополнение к перечисленным ниже свойствам доступны свойства из родительского интерфейса Event.
-
TextUpdateEvent.updateRangeStartТолько для чтения -
Возвращает индекс первой буквы в диапазоне обновлённого текста.
-
TextUpdateEvent.updateRangeEndТолько для чтения -
Возвращает индекс последней буквы в диапазоне обновлённого текста.
-
TextUpdateEvent.textТолько для чтения -
Возвращает текст, который был вставлен в обновлённый диапазон.
-
TextUpdateEvent.selectionStartТолько для чтения -
Возвращает индекс первой буквы в новом диапазоне выделения после обновления.
-
TextUpdateEvent.selectionEndТолько для чтения -
Возвращает индекс последней буквы в новом диапазоне выделения после обновления.
Примеры
Отображение обновлённого текста при событии textupdate
В следующем примере событие textupdate API EditContext используется для отображения текста, введённого пользователем в редактируемом элементе <canvas>.
<canvas id="editor-canvas"></canvas>
const canvas = document.getElementById("editor-canvas");
const ctx = canvas.getContext("2d");
const editContext = new EditContext();
canvas.editContext = editContext;
editContext.addEventListener("textupdate", (e) => {
// When the user has focus on the <canvas> and enters text,
// this event is fired, and we use it to re-render the text.
console.log(
`The user entered the text: ${e.text} at ${e.updateRangeStart}. Re-rendering the full EditContext text`,
);
ctx.clearRect(0, 0, canvas.width, canvas.height);
ctx.fillText(editContext.text, 10, 10);
});
Спецификации
| Спецификация |
|---|
| API EditContext # dom-editcontext-ontextupdate |
Совместимость с браузерами
| Рабочий стол | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
textupdate_event |
121 | 121 | Нет | 107 | Нет | 121 | Нет | 81 | Нет | 25.0 | 121 |
© 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/EditContext/textupdate_event