2010-12-11 12 views

risposta

19

L'evento "pressione del tasto" è (nella sua forma originale di IE, e in Safari/Chrome) su un personaggio reale che viene aggiunto a un campo di testo. Il tasto backspace non aggiunge chiaramente un nuovo carattere al valore del campo, quindi non causa alcun evento di pressione del tasto.

Firefox e Opera sono un po 'più volenti o nolenti sulla generazione di eventi di digitazione.

PPK (quirksmode) considers the IE and Webkit behaviors to be the sensible ones, e sono praticamente d'accordo.

+0

Può essere ragionevole, ma diminuisce l'utilità dell'evento IMO. Forse è solo un'abitudine, ma uso spesso la pressione di un tasto (in altre lingue, dove l'evento si attiva se il tasto premuto ha un valore ASCII) intrappola il tasto BS per fare cose come disabilitare i pulsanti quando l'utente esegue il backup di tutto il testo da una casella di input . – BobRodes

19

Provare ad utilizzare le funzioni keydown e keyup per IE.

Javascript e.keyCode doesn't catch Backspace/Del in IE

+2

vedi esattamente questo http://jsfiddle.net/EZqMA/ –

+0

Questo è un sito molto interessante, Eric. Ho imparato qualcosa oggi. – mdarwi

+1

@Eric IMO meglio usare l'evento 'keyup' come accade dopo che la chiave è stata rilasciata e' .value' restituirà il nuovo valore. –

0

L'onKeyUp solo farà tutto il rilevamento tasto della tastiera in cromo ..

Problemi correlati