KeyboardEvent#
KeyboardEvent.isComposing#
Właściwość isComposing zwraca boolowską wartość true jeśli dane zdarzenie jest częścią sesji kompozycji (tj. po zdarzeniu compositionstart i przed odpowiadającym zdarzeniem compositionend), w przeciwnym razie zwrócona zostanie wartość false. Właściwość jest tylko do odczytu.
Składnia#
Samo wywołanie i poszczególne jego części najlepiej objaśnić na zapisie składniowym:
var composed = keyboardEvent.isComposing;
gdzie poszczególne człony oznaczają:
composed- boolowskietruelubfalse.keyboardEvent- zdarzenie będące obiektem kontekstu.
Przy tworzeniu zdarzenia wartością domyślną dla właściwości isComposing musi być wartość false.
W czasie wysyłania zaufanych zdarzeń wartość przechowywana we właściwości isComposing ulegnie zmianie tylko wtedy, kiedy zastosowany zostanie edytor metody wejściowej.
W przypadku syntetycznych zdarzeń możemy samodzielnie ustawić stan kompozycji dla zdarzenia, np. w czasie tworzenia zdarzenia.
Prosty przykład:
<!DOCTYPE html>
<html>
<head>
<style>
input:focus {outline: 5px solid green;}
</style>
<script>
// Uruchom po całkowitym załadowaniu dokumentu
window.onload = function(){
var input = document.getElementById("input");
var info = document.getElementById("info");
function readInfo(e){
var data = "Interfejs: " + e
+ "<br>" + "e.type: " + e.type
+ "<br>" + "e.key: " + e.key
+ "<br>" + "e.isComposing: " + e.isComposing + "<br><br>";
info.innerHTML = info.innerHTML + data;
}
input.addEventListener("keydown", readInfo, false);
input.addEventListener("keyup", readInfo, false);
}
</script>
</head>
<body>
<p>Ustaw zogniskowanie w poniższej kontrolce i wciśnij dowolny klawisz by uzyskać szczegółowe informacje dla zdarzenia.</p>
<input id="input" type="text" value="Wybierz mnie">
<p style="color: blue;">Szczegółowe informacje dla przechwyconego zdarzenia:</p>
<p id="info"></p>
</body>
</html>Na chwilę obecną jedynie przeglądarka Firefox obsługuje właściwość isComposing.
Interfejs Web IDL#
readonly attribute boolean isComposing;