files/en-us/web/api/textevent/index.md
{{APIRef("UI Events")}}{{deprecated_header}}
The TextEvent interface is a legacy UI event interface for reporting changes to text UI elements.
[!NOTE]
TextEventevents have been superseded by events such asinput,beforeinput,keypress,keyup, andkeydown.
{{InheritanceDiagram}}
This interface also inherits properties from its parent {{domxref("UIEvent")}}, and indirectly from {{domxref("Event")}}.
TextEvent with the given parameters.The following is a list of all TextEvent events:
textinputYou can register a listener for text input events using {{DOMxRef("EventTarget.addEventListener()")}} as follows:
element.addEventListener("textInput", (event) => {
// …
});
This example listens for a number of events that are fired on an input, including textInput.
The event type and the event data are logged, allowing you to see where textInput is emitted relative to the other events such as those generated by key presses.
<input placeholder="Enter some text" name="name" />
<pre id="log"></pre>
#log {
height: 140px;
overflow: scroll;
padding: 0.5rem;
border: 1px solid black;
}
const logElement = document.querySelector("#log");
function log(text) {
logElement.innerText = `${logElement.innerText}${text}\n`;
logElement.scrollTop = logElement.scrollHeight;
}
const input = document.querySelector("input");
input.addEventListener("keypress", updateValue);
input.addEventListener("keyup", updateValue);
input.addEventListener("keydown", updateValue);
input.addEventListener("input", updateValue);
input.addEventListener("beforeinput", updateValue);
input.addEventListener("textInput", updateValue);
function updateValue(e) {
log(`${e.type}: ${e.data}`);
}
{{EmbedLiveSample("Simple logger showing input events", "100%", "210px" )}}
{{Specifications}}
{{Compat}}