Unterschied zwischen "ändern" und "input" - Ereignis für ein `input` - element
Kann mir jemand sagen, was der Unterschied zwischen den change
und input
Veranstaltungen ist?
Bin ich mit Hilfe von jQuery für das hinzufügen von Ihnen:
$('input[type="text"]').on('change', function() {
alert($(this).val());
})
Funktioniert es auch mit input
statt change
.
Vielleicht einen Unterschied im Falle der Bestellung von relativen zu konzentrieren?
- rakshasingh.weebly.com/1/post/2012/12/... Beachten Sie, dass oninput wird nicht unterstützt, ältere browser. Sie verwenden konnte, dann: onchange, onpaste und onkeyup dieses Problem zu umgehen. PS: oninput-event ist auch buggy in IE9 und es nicht ausgelöst wird, auf löschen.
- input feuert häufiger, wie nach einem Tastendruck, in der Erwägung, dass im Allgemeinen ändern wird ausgelöst, wenn der Eingang ist verschwommen, und der Wert ist nicht, was es war, wenn der Eingang ausgerichtet war.
- Die
input
Ereignis erfasst auch einfügen. Siehe stackoverflow.com/questions/15727324/... - TLDR: input feuert während der Eingabe, ändern Sie Feuer, wenn Sie auf außerhalb
Du musst angemeldet sein, um einen Kommentar abzugeben.
Laut dieser Beitrag:
oninput
Ereignis tritt ein, wenn der text-Inhalt eines Elements über die Benutzeroberfläche geändert.onchange
tritt auf, wenn die Auswahl der aktivierten Zustand oder der Inhalt eines Elements geändert haben. In einigen Fällen, es tritt nur auf, wenn das element den Fokus verliert. Das onchange-Attribut kann verwendet werden mit:<input>
,<select>
, und<textarea>
.TL;DR:
oninput
: jede änderung im text Inhaltonchange
:<input />
: ändern + Fokus verlieren<select>
: ändern Sie die optionJS:
HTML:
onchange
tritt ", wenn das element den Fokus verliert", während dieoninput
tritt auf jeden text ändern.Den
change
event
feuert in den meisten Browsern, wenn der Inhalt geändert wird unddas element verliert
focus
. Es ist im Grunde eine Anhäufung von Veränderungen. Es wird nicht ausgelöst, für jede einzelne änderung, wie im Fallinput
event
.Den
input
event
feuert synchron auf änderung der Inhalte für das element. Als solche, die Ereignis-listener-neigt zu Feuer häufiger.Verschiedenen Browsern nicht immer einig, ob ein change-Ereignis gefeuert werden sollen, die für bestimmte Arten der Interaktion
input
Veranstaltung.MDN-Dokumentation hat eine klare Erklärung (nicht sicher, Wann es Hinzugefügt wurde):
https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event