Domanda

sto lottando per capire il motivo per cui viene visualizzato il seguente problema.

Ho una casella di input e voglio collegare un casella di completamento automatico ad esso.

function input_set_autocomplete_to(obj)
{
    if( obj.type != "text" ) { return; }
    if( obj.getAttribute("rel") != "autocomplete" ) { return; }
    obj.setAttribute("autocomplete", "off");
    obj.setAttribute("uniqindex", Math.round(Math.random()*99999));
    obj.onfocus = function() {
        input_hide_autocompletes();
    };

Questo è l'inizio della funzione. Nessun problema qui. Poi mi aggancio onKeyDown e onkeyup eventi così posso mostrare il testo mentre l'utente sta scrivendo.

    obj.onkeydown = function(e) {
        console.log('x');
    }
    obj.onkeyup = function (e) {
        console.log('z');
    }

Fin qui tutto bene. Tutto funziona in ogni singolo del browser (IE, FF, Chrome, Safari) sia su Windows e Linux, ottengo x, z per ogni pressione del tasto, tranne Opera in Linux se sto utilizzando il metodo di cirillico (ad esempio сдфг). Ci onKeyUp evento non ha nemmeno il fuoco.

Il sistema che uso è Ubuntu 9.04 con Opera 10.10.

P.S. Durante la digitazione questa domanda ho provato su un'altra macchina con ArchLinux, ancora una volta con Opera 10.10 e che sta funzionando benissimo. Anche un collega caduto una nota che non funziona anche per lui su MacOS X 10.6 con Safari, ma non riesco a contattarlo per identificare la versione

È stato utile?

Soluzione

quirksmode , Opera keyup movimentazione è rotto. È necessario utilizzare pressione di un tasto su Opera, invece.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top