2015-07-21 7 views
5

Ich habe ein Formularfeld mit einem Handler, den ich auslösen möchte, nachdem der Benutzer absichtlich den Wert entweder return/enter oder Tabs zum nächsten Feld akzeptiert. Ich kann in diesem Fall onBlur nicht verwenden, da es natürlich auslöst, wenn der Benutzer oder das System das Feld verwischt. Ich möchte es nur auf einem Key-up.Angular: "Tab" Keycode-Ereignis nicht feuern

So habe ich das. Ich hatte die enter zuerst, und es funktioniert super. Aber die keycode==9 löst den Handler nicht aus. Der Fokus bewegt sich lediglich zum nächsten Feld.

ng-keyup="($event.keyCode == 13 || 
      $event.keyCode == 9) 
      && packages.submitNumber('add', packages.addTrackingNumber)" 

Gibt es eine Möglichkeit, dieses Feuer zu haben, auf enter ODER tab?

Antwort

5

Tab-Schaltfläche in HTML ist tabellarisch zum nächsten fokussierbaren Element (Schaltflächen, Eingänge usw.). Also, wenn Sie Keydown Tab Taste Keypad passiert auf der nächsten fokussierbaren. Um dies zu vermeiden, können Sie versuchen, ng-keydown zu verwenden. Siehe working example

+0

In der Tat funktioniert Keydown für Registerkarte. – Steve