Pregunta

Estoy luchando para entender por qué aparece el siguiente problema.

Tengo un cuadro de entrada y quiero conectar un cuadro de autocompletar a él.

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();
    };

Este es el comienzo de la función. No hay problemas aquí. Entonces engancho onkeydown y onkeyup eventos para que pueda mostrar el cuadro mientras el usuario está escribiendo.

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

Hasta aquí todo bien. Todo funciona en todos los navegadores sola (IE, FF, Chrome, Safari) en Windows y Linux, consigo x, z en cada pulsación de tecla, excepto Opera en Linux si estoy usando el alfabeto cirílico de entrada (por ejemplo сдфг). Hay onkeyup evento no tiene ni siquiera el fuego.

El sistema que utilizo es Ubuntu 9.04 con Opera 10.10.

P.S. Mientras se escribe esta pregunta lo probé en otra máquina con Arch Linux, de nuevo con Opera 10.10 y que está funcionando bien. También se redujo a un colega una nota que no está trabajando para él también en MacOS X 10.6 con Safari, pero no puedo contactar con él para identificar la versión

¿Fue útil?

Solución

De acuerdo con quirksmode , manejo Opera keyup está roto. Es necesario utilizar pulsación prolongada en la ópera en su lugar.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top