Quindi, ho qualche problema a far funzionare il mio script SE viene premuto il tasto Tab. Dopo un po 'di ricerca su google, il codice di accesso per Tab è 9. Inoltre, mentre stiamo parlando, c'è qualche modo migliore per verificare se un tasto viene premuto senza usare charcodes? Sto chiedendo perché continuo a ricevere il seguente Warning da firebug quando si utilizza charcode:jQuery: chiave per tasto TAB?
La proprietà 'charCode' di un evento keyup non deve essere utilizzata. Il valore non ha significato.
In ogni caso, funziona ancora, quindi non è questo il problema. Questo è il codice che uso:
$('/* my inputs */').keyup(function(e) {
console.log('keyup called');
var code = e.keyCode || e.which;
if (code == '9') {
console.log('Tab pressed');
}
});
Utilizzando il codice sopra la console viene lasciato vuoto, nulla si aggiunge (utilizzando Firebug). Certo, ho provato a fare cose reali invece di loggare del testo, ma non viene eseguito nulla. Quindi qualcuno può capire perché questo non funziona? C'è un modo migliore per verificare se un tasto è premuto?
Grazie in anticipo.
Avevi ragione, l'input perde lo stato attivo prima che venga eseguito il keydown. Ho cambiato la chiave su keydown e funziona come dovrebbe ora. Grazie uomo! – qwerty
Hm, mi sono imbattuto in un altro problema ora. Utilizzando return false; Non posso usare l'input, il che lo rende un po 'inutile. Ho provato preventDefault, ma non sembra funzionare neanche. C'è un modo per aggirare questo? – qwerty
Suppongo che tu voglia aggiungere un carattere "tab" all'ingresso, giusto? Ho aggiunto un esempio di codice alla mia risposta. –