2015-07-21 20 views
5

Ho un campo modulo con un gestore che desidero attivare dopo che l'utente ha accettato deliberatamente il valore con return/enter o schede nel campo successivo. Non posso usare onBlur in questo caso, poiché ovviamente si innesca se l'utente o il sistema oscurano il campo. Lo voglio solo su una chiave.Angolare: evento "key" keycode non attivo

Quindi ho questo. Ho avuto il enter prima, e funziona benissimo. Ma lo keycode==9 non attiva il gestore. L'attenzione si sposta semplicemente sul campo successivo.

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

C'è un modo per avere questo fuoco su enter O tab?

risposta

5

Il pulsante di tabulazione in html è tabulato sul successivo elemento di messa a fuoco (pulsanti, ingressi, ecc.). Quindi, quando tieni premuto il tasto del tabulatore, la chiave del tasto sta succedendo sul prossimo focusable. Per evitare questo si può provare a utilizzare ng-keydown. Vedi working example

+0

Infatti, il keydown funziona per la scheda. – Steve