compositionend
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2017.
L'événement compositionend
est déclenché lorsque la composition d'un texte via méthode de saisie est terminée ou annulée (démarre avec des caractères spéciaux qui requièrent une séquence de touches et d'autres entrées telles que la reconnaissance vocale ou la suggestion de mot sur mobile).
Par exemple, cette événement pourrait être déclanché quand un utilisateur saisie un caractère chinois en utilisant la méthode de saisie Pinyin.
Se propage/remonte dans le DOM | Oui |
---|---|
Annulable | Oui |
Interface | CompositionEvent |
Propriété pour la gestion d'évènement | Aucune |
Exemple
Html
<div class="control">
<label for="name"
>Sur macOS, cliquez sur la boîte de texte,<br />
puis appuyez sur <kbd>option</kbd> <kbd>`</kbd>, puis <kbd>a</kbd>:</label
>
<input type="text" id="example" name="example" />
</div>
<div class="event-log">
<label>Log d'événement:</label>
<textarea readonly class="event-log-contents" rows="8" cols="25"></textarea>
<button class="clear-log">Effacer</button>
</div>
JS
const inputElement = document.querySelector('input[type="text"]');
const log = document.querySelector(".event-log-contents");
const clearLog = document.querySelector(".clear-log");
clearLog.addEventListener("click", () => {
log.textContent = "";
});
function handleEvent(event) {
log.textContent = log.textContent `${event.type}: ${event.data}\n`;
}
inputElement.addEventListener("compositionstart", handleEvent);
inputElement.addEventListener("compositionupdate", handleEvent);
inputElement.addEventListener("compositionend", handleEvent);
Resultat
Spécifications
Specification |
---|
UI Events # event-type-compositionend |
Compatibilité des navigateurs
BCD tables only load in the browser