Тип события клавиатуры | compositionstart |
---|---|
Интерфейс | CompositionEvent |
Синх / Асин | Синхронный |
Всплытие | Да |
Надежные цели | Element |
Отменяемый | Да |
Сдержанный | Да |
Действие по умолчанию | Начинает новый сеанс композиции, когда включена система композиции текста |
Контекст (доверенные события) | Event.target : сфокусированный элемент обработки композиции |
UIEvent.view : Window | |
UIEvent.detail : 0 | |
CompositionEvent.data : исходная редактируемая строка, в противном случае пустая строка |
Агент пользователя должен отправить это событие, когда система композиции текста включена и новый сеанс композиции вот-вот начнется (или уже начался, в зависимости от системы композиции текста) при подготовке к составлению отрывка текста. Этот тип событий зависит от устройства и может зависеть от возможностей системы преобразования текста и от того, как она отображается в операционной системе. Когда клавиатура используется для подачи редактора методов ввода, этот тип события генерируется после события keydown, но системы распознавания речи или рукописного ввода могут отправлять этот тип события без событий клавиатуры. Некоторые реализации могут заполнять атрибут data события compositionstart текстом, выбранным в данный момент в документе (для редактирования и замены). В противном случае значение атрибута data должно быть пустой строкой.
Это событие должно быть отправлено непосредственно перед тем, как система композиции текста начнет новый сеанс композиции, и до того, как DOM будет изменен из-за процесса композиции. Действие по умолчанию этого события заключается в том, что система композиции текста запускает новый сеанс композиции. Если это событие отменено, система композиции текста должна отменить текущий сеанс композиции.
Отмена типа события compositionstart отличается от отмены самой системы композиции текста (например, нажатием кнопки отмены или закрытием окна IME).
Некоторые IME не поддерживают отмену текущего сеанса композиции (например, GTK, который в настоящее время не имеет такого API). В этих случаях вызов функции preventDefault() не остановит действие этого события по умолчанию.
События CompositionEvent
Типы событий пользовательского интерфейса CompositionEvent
Полная версия документа на русском языке
UI Events | События пользовательского интерфейса