Verhindert, dass Onblur-Code ausgeführt wird, wenn auf die Schaltfläche "Senden" geklickt wird

8

Mit dem folgenden Code möchte ich "ETWAS" auf "ONBLUR" von Element id="eg1" nur dann tun, wenn das Onblur-Ereignis nicht aufgrund von "ONCLICK" auf der Senden-Schaltfläche verursacht wurde.

%Vor%

Zum Beispiel: wenn der Benutzer den Wert des Textfelds "eg1" ändert und auf das nächste Textfeld klickt, muss der DO SOMETHING-Code ausgeführt werden, aber für den Fall, dass der Benutzer den Wert des Feldes "eg1" ändert und dann klickt auf der Schaltfläche SENDEN, dann darf der DO SOMETHING-Code nicht ausgeführt werden.

Ist das der richtige Weg? Bitte führen.

    
Palak Tanejaa 04.03.2013, 07:12
quelle

3 Antworten

27

blur Ereignis eines Elements wird vor click Ereignis eines anderen ausgelöst. Eine Möglichkeit besteht darin, die Ereignisse mousedown und mouseup zu verwenden, um ein Flag umzuschalten, weil mousedown event eines Elements vor blur event eines anderen auslöst.

%Vor%     
Diode 04.03.2013, 07:37
quelle
0
%Vor%     
A.T. 04.03.2013 07:33
quelle
0

Aktualisierung:

$('input[type="submit"]').mousedown(test);

Sieh dir diese Geige JSFiddle an, um dein Problem zu lösen . Verwenden Sie die Konsole, um die Ereignisse anzuzeigen, die nach Ausführung bestimmter Aktionen ausgelöst und unterdrückt wurden.

Sie sollten den Ereignishandler unterdrücken, der an den Text gebunden ist, wenn click oder submit ausgeführt wird.

    
D3V 04.03.2013 07:22
quelle

Tags und Links