Fügt allen Formularelementen eine onBlur hinzu

8

Also auf einer bestimmten Seite habe ich eine Anzahl von Formularelementen, irgendwo zwischen 3 und 8, abhängig von dem Benutzer und ihrer Aktion auf der Seite.

Wie kann ich allen Formularelementen dynamisch auf der Seite ein bestimmtes Onblur-Ereignis hinzufügen?

Wenn ich:

%Vor%

Wie kann ich all diese Funktionen hinzufügen, sobald die Seite geladen ist? Nach dem Laden der Seite werden keine Elemente erstellt, aber verschiedene Elemente können für verschiedene Benutzer angezeigt werden.

%Vor%

Ist das möglich?

    
Jason 24.06.2010, 18:59
quelle

2 Antworten

14

Bearbeiten: Für aktualisierte Frage
Verwenden Sie .blur() und eine anonyme Funktion dafür (egal wie viele Elemente es gibt):

%Vor%

Wenn Sie bestimmte Funktionen an bestimmte Felder binden müssen, verwenden Sie Klassen oder einen Attributselektor Name, alles, um sie zu unterscheiden ... wenn der Selektor kein Element findet, bindet er einen Event-Handler einfach nicht an irgendetwas. Auf diese Weise funktioniert derselbe Gesamtcode für all Benutzer, selbst wenn sie nur einige der verfügbaren Formularelemente sehen.

Für die ursprüngliche Frage : Wenn Elemente nach dem Laden der Seite dynamisch hinzugefügt wurden.
Ich denke, .live() , um das Ereignis blur einzufangen, ist das, wonach Sie suchen, indem Sie :input als Selektor:

%Vor%     
Nick Craver 24.06.2010, 19:01
quelle
8

Ohne jQuery:

%Vor%

Ich habe es so einfach wie möglich gemacht. Ich würde das umgestalten und Event-Handler nicht auf diese Weise zuweisen, aber ich habe darauf hingewiesen, Ihre Frage zu beantworten.

    
Matias 24.06.2010 19:08
quelle

Tags und Links