373 Stimmen

Erkennung von Eingabeänderungen in jQuery?

Bei Verwendung von jquery .change an einem input das Ereignis wird nur ausgelöst, wenn die Eingabe den Fokus verliert

In meinem Fall muss ich den Dienst aufrufen (prüfen, ob der Wert gültig ist), sobald der Eingabewert geändert wird. Wie kann ich das erreichen?

3 Stimmen

Welche Art von Eingabe? Textfeld? Kontrollkästchen? Radio? Textarea? Mal sehen, was Sie sich bis jetzt ausgedacht haben

0 Stimmen

Entschuldigung, es handelt sich um eine Eingabe vom Typ Text. Und wie gesagt, ich habe versucht, zu ändern, aber das funktioniert nicht die Art und Weise ich brauche (für jede Änderung auf den Text in der Eingabe). Ich habe auch versucht, keydown, aber um diese Arbeit zu bekommen, muss ich verfolgen, ob die Eingabe "schmutzig" ist oder nicht.

2 Stimmen

Wenn sie eine Taste drücken, wird es 99% der Zeit zu ändern, könnten Sie immer eine Überprüfung für die Tasten, die nicht in der Event-Handler tun würde.

2voto

Jivings Punkte 22228

Wenn Sie möchten, dass das Ereignis immer dann ausgelöst wird, wenn sich etwas innerhalb des Elements ändert, können Sie die keyup Veranstaltung.

0 Stimmen

Okay, aber ist das nicht mehr oder weniger dasselbe wie das Heruntertasten? Ich muss selbst überprüfen, ob der Eingang "schmutzig" ist?

0 Stimmen

@SnowJim wenn Sie nur dann etwas tun wollen, wenn sich die Eingabe tatsächlich ändert, müssen Sie entweder onchange oder verfolgen Sie den Status selbst. keydown funktioniert nicht, weil es die vor wird der Zustand des Eingangs geändert.

0 Stimmen

@Alnitak genau und das ist der Grund, warum ich die Frage hier stelle. Die onchange funktioniert nicht, ist es nur geworfen, wenn das Verlassen der Eingabe.

1voto

softwaredeveloper Punkte 165

Es gibt jQuery-Ereignisse wie keyup y Taste drücken die Sie mit Eingabe-HTML-Elementen verwenden können. Sie können zusätzlich die blur() Veranstaltung.

1 Stimmen

.change wird, wie gesagt, nur ausgelöst, wenn das inout den Fokus verliert und der Wert geändert wird, ich muss ein even erhalten, sobald die Eingabe (Text) geändert wird (sobald der Text in der Eingabe geändert wird). Blur wird nur ausgelöst, wenn die Eingabe den Fokus verliert.

1 Stimmen

Können Sie den Wert einer Eingabe nicht zuverlässig während einer keypress Ereignis, da die gedrückte Taste den Wert noch nicht geändert haben wird.

0voto

rybo111 Punkte 11642

Dies gilt für jede Änderung an einer Eingabe mit jQuery 1.7 und höher:

$(".inputElement").on("input", null, null, callbackFunction);

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X