Meiner Erfahrung nach tritt input type="text"
onchange
Ereignis normalerweise nur auf, nachdem Sie (blur
) die Kontrolle verlassen haben.Der beste Weg, um onchange-as-you-type in Eingangstyp = "Text" zu verfolgen?
Gibt es eine Möglichkeit, Browser zu zwingen, onchange
jedes Mal textfield
Inhaltsänderungen auszulösen? Wenn nicht, was ist der eleganteste Weg, dies "manuell" zu verfolgen?
Die Verwendung von onkey*
Ereignisse ist nicht zuverlässig, da Sie mit der rechten Maustaste auf das Feld klicken und Einfügen auswählen können. Dadurch wird das Feld ohne Tastatureingabe geändert.
Ist setTimeout
der einzige Weg? .. hässlich :-)
Haben nicht Sie überprüft, in IE oninput (Sie haben es nicht auf einem Mac)? Weil das Überprüfen auf Paste selbst nicht genug ist: Sie können zum Beispiel wählen und schneiden. Vielen Dank. –
'onkeypress' sollte anstelle von' onkeydown' verwendet werden. 'onkeydown' wird ausgelöst, wenn eine Taste gedrückt wird. Wenn ein Benutzer einen Schlüssel gedrückt hält, wird das Ereignis nur einmal für das erste Zeichen ausgelöst. 'onkeypress' wird ausgelöst, wenn ein Char zum Textfeld hinzugefügt wird. – fent
Es ist nicht wirklich magisch, 'onchange' Feuer auf all diese Aktionen zu machen. ' 'wird für die meisten gut genug sein. – aroth