Perché non viene rilevato il backspace utilizzando l'evento jquery keypress?Perché non viene rilevato il backspace utilizzando l'evento jquery keypress?
$("#field").keypress(function(event){alert(event.which);});
Perché non viene rilevato il backspace utilizzando l'evento jquery keypress?Perché non viene rilevato il backspace utilizzando l'evento jquery keypress?
$("#field").keypress(function(event){alert(event.which);});
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.
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
Provare ad utilizzare le funzioni keydown
e keyup
per IE.
vedi esattamente questo http://jsfiddle.net/EZqMA/ –
Questo è un sito molto interessante, Eric. Ho imparato qualcosa oggi. – mdarwi
@Eric IMO meglio usare l'evento 'keyup' come accade dopo che la chiave è stata rilasciata e' .value' restituirà il nuovo valore. –
L'onKeyUp solo farà tutto il rilevamento tasto della tastiera in cromo ..
Questo funziona bene per me in FF, ma non in IE (8). Quale browser utilizzate? –