2017-11-22 2 views
0

Ich arbeite an einem Cross-Browser-Kompatibilitätsproblem mit HTML-Eingabefeldern.Standardverhalten bei der Eingabe von HTML-Texteingabeelementen

Auf meinem Chrome 63.0, wenn ich gedrückt in einem input [type = text] eingeben, löst es change Ereignis und kein blur Ereignis ausgelöst wird. (I müde mit diesem https://jsfiddle.net/agentmilindu/ekhT4/2984/)

Allerdings sehe ich in einigen Browsern ein blur Ereignis ausgelöst wird, wenn eingeben drücken.

Ich sehe viele Frage auf Stackoverflow Frage, wie Auslösen dieses blur Ereignis zu stoppen, wenn Eingabe gedrückt wird,

  1. Prevent both blur and keyup events to fire after pressing enter in a textbox
  2. onkeypress + onblur in javascript

Die App (a PhoneGap App geschrieben in React) Ich untersuche gerade eine Funktion, die durch blur Ereignis ausgelöst wird, wenn der Benutzer eingeben eingeben, aber in neuen Browsern (n ew Telefone und auf meinem Chrom 63.0 auch) das funktioniert nicht.

Jetzt bin ich verwirrt, was ist das tatsächliche Standardverhalten, wenn jemand in eine Eingabe eingeben [Typ = Text] eingereicht. Sollte es change + blur oder nur change sein? Gibt es ein Dokument, auf das ich verweisen kann?

+0

Ein Blur-Ereignis wird bei einer "Fokus aus" -Situation ausgelöst; Ich hoffe, dass vieles klar ist; Wenn Sie also Enter drücken, wird der Fokus im Eingabefeld verlassen und die Unschärfe wird aufgerufen. In der Geige, ich sah nicht verwischt beim Drücken der Eingabetaste (m mit Chrom 61) –

+0

Ja, ich auch nicht ein "Unschärfe" -Ereignis, wenn ich "Enter" in der Geige drücken. Ist das das Standardverhalten? Aber ich sehe auch, dass einige ein "Unschärfe" -Ereignis bekommen. Zumindest erwartet die App, die ich untersuche, dass ein "Blur" -Ereignis ausgelöst wird, wenn die Eingabetaste gedrückt wird. @RajkumarSomasundaram –

+0

Die [erste Frage] (https://stackoverflow.com/questions/11143011/prevent-both-blurand-keyup-events-to-fire-after-pressing-enter-in-a-textbox) Sie Verknüpft mit hatte dieses Verhalten, weil sie 'alert()' innerhalb des 'change' Ereignishandlers nannten, wodurch die ganze Seite den Fokus verlor ([fiddle] (https://jsfiddle.net/ekhT4/2985/)). Die zweite Frage scheint nicht das Verhalten zu beschreiben, das Sie beschrieben haben. Es ist eine lange Zeit, dass ich diese Spezifikationen lese, aber IIRC, die Eingabe in eine Eingabe drücken sollte nicht den Fokus verlieren. Also das Beste für dich ist, den Typen zu fragen, der dieses Drehbuch geschrieben hat, warum er das so gemacht hat. – Kaiido

Antwort

0

Ich kann nicht viel für Apps sagen, aber für Browser; (Ich habe versucht, Ihre Geige in Chrom 61 und Firefox 55), das sind meine Beobachtungen;

1) Unschärfe wird beim Fokussieren ausgelöst; Text ändert sich oder nicht egal; wenn es Fokus heraus ist, dann löst Unschärfe

2) Veränderung ausgelöst wird, nur dann, wenn i) Textinhalt Änderungen innerhalb des Eingabefeldes ändern ii) Enter-Taste gedrückt wird entweder allein nicht ändern auslösen;

Hoffe, das hilft.

Verwandte Themen