InputEvent#
InputEvent.data#
Właściwość data
zwraca łańcuch znakowy reprezentujący wygenerowane znaki dla danego zdarzenia. Jeśli wygenerowane znaki nie zostały przekazane w czasie tworzenia zdarzenia, to zwracany będzie pusty łańcuch znakowy. 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 input_data = inputEvent.data;
gdzie poszczególne człony oznaczają:
input_data
- wygenerowane znaki w postaci łańcucha znakowego.inputEvent
- zdarzenie będące obiektem kontekstu.
Przy tworzeniu zdarzenia wartością domyślną dla właściwości data
musi być pusty łańcuch znakowy.
W czasie wysyłania zaufanych zdarzeń wartość przechowywana we właściwości data
będzie uzależniona od sposobu wygenerowanych znaków. Może być to pojedynczy znak Unicode lub niepusta sekwencja znaków Unicode (np. przy wprowadzaniu/wklejaniu całych ciągów). Znaki powinny być znormalizowane zgodnie z dokumentem "Unicode Normalization Forms". Dozwolony jest także pusty łańcuch znakowy (np. w czasie usuwania znaków).
W przypadku syntetycznych zdarzeń możemy samodzielnie ustawić wygenerowane znaki dla zdarzenia, np. w czasie tworzenia zdarzenia.
Prosty przykład:
<!DOCTYPE html>
<html>
<head>
<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.data: " + e.data
+ "<br>" + "e.isComposing: " + e.isComposing + "<br><br>";
info.innerHTML = data + info.innerHTML;
}
input.addEventListener("input", readInfo, false);
}
</script>
</head>
<body>
<p>Zmień zawartość w kontrolce by uzyskać szczegółowe informacje dla zdarzeń.</p>
<input id="input" type="text" value="Dane tekstowe">
<p style="color: blue;">Szczegółowe informacje dla przechwyconego zdarzenia:</p>
<p id="info"></p>
</body>
</html>
Na chwilę obecną jedynie przeglądarka Firefox zaimplementowała interfejs InputEvents, ale wciąż brakuje obsługi właściwości data
.
Interfejs Web IDL#
readonly attribute DOMString data;