sono caduto fallo di Firefox keydown comportamento in che premendo il tasto Invio (anzi un tasto qualsiasi) senza dover concentrarsi su un campo specifico non si innescherà un evento keydown sarà solo grilletto a keypress evento.event.keyCode vs event.which
Questo potrebbe essere molto fuorviante in quanto l'utilizzo dell'evento keydown e keyup JavaScript codici chiave mentre pressione del tasto utilizza codici ASCII. Fortunatamente 13 (invio/restituzione) è comune a entrambi.
Esiste un motivo noto per cui FF utilizza pressione tasto in questa circostanza? Qual è il vantaggio?
Una volta che questo è stato istituito IE8 ha gettato una sciocca, in quanto non consente preventDefault chiedendo invece returnValue = false
il seguente frammento da un altro SO post è rivelato molto utile:
event.preventDefault ? event.preventDefault() : event.returnValue = false;
Durante la ricerca per risolvere questi problemi Sono stato costantemente confuso da event.keycode
vs event.which
. Vale a dire faccio di sbagliato con un'istruzione switch simile a:
$("#class_Name").bind("keydown", function(event){
// do not test input if field controls used
switch(event.which){
case 13:
//enter key
event.preventDefault ? event.preventDefault() : event.returnValue = false;
break;
}
è la seguente meglio, se sì perché?
$("body").keypress(function(event){
// stop inadvertant form submission
if (event.keycode == "13"){
event.preventDefault ? event.preventDefault() : event.returnValue = false;
}
});
Vorrei solo sapere in modo che io so che è meglio applicare.
Molte grazie.
Lo sai che jQuery normalizza le differenze tra i browser? In jQuery, 'event.which' dovrebbe essere coerente tra i vari browser. Inoltre, 'event.preventDefsult();' funziona anche in oldie. –
@Rob W, Ciao Rob sì, ne ero consapevole. La documentazione jquery online documenta l'uso dell'evento. Che ho usato. Molti post mostrano qui di seguito keycode non quale. Da qui la domanda. Capisco that event.preventDefsult(); dovrebbe funzionare ovunque – codepuppy
Ti chiedi se possiamo ottenere un aggiornamento su questo per i browser rilevanti nel 2016? – Faust