/ / Malfunzionamento di KeyPress in Opera - javascript, browser, javascript-events, opera, keypress

Malfunzionamento di KeyPress in Opera - javascript, browser, javascript-events, opera, keypress

Sto "usando il seguente codice per rilevare gli utenti" premendo il tasto, in JavaScript:

$(document).bind("keydown", function (event) {
"use strict";
var keyCode = event.keyCode;

switch (keyCode) {
case "{N}":
doSomething();
break;

default:
break;
}
});

Dove doSomething è una funzione precedentemente definita e {N} è uno dei Codici Char JavaScript.

Funziona correttamente in tutti i principali browser, ma in musica lirica anche se un tasto rimane premuto, chiama solo doSomething una volta, invece di farlo fino a la chiave viene rilasciata. Cosa posso fare per risolvere questo problema?


modificare

Ho risolto usando il keypress evento invece di keydown (che non è ben gestito da Opera).

risposte:

0 per risposta № 1

questo è un bug noto che dovrebbe (finalmente!) presto risolto. In breve, gli eventi keydown non vengono ripetuti mentre lo sono gli eventi keypress. Ascoltare la pressione dei tasti invece se si desidera la ripetizione (e non preoccuparsi dei tasti che NON attivano la pressione dei tasti in tutti i browser come la maggior parte dei tasti funzione) dovrebbe essere una soluzione cross-browser ragionevole.


1 per risposta № 2

Opera fa un casino, l'evento keydown non si ripete e non è possibile impedire l'impostazione predefinita per keydown in opera. Per più http://quirksmode.org/dom/events/