Pregunta

Estoy tratando de reaccionar de manera diferente a Onblur y OnSelect Events con Yui Autocompletar.Necesito ocultar el AC, cuando el usuario hace clic en otro lugar y déjalo allí en Select.El problema es que también se enciende un evento de desenfoque.No pude encontrar un evento que se active solo cuando haga clic en AC y estoy realmente atascado, llame al evento de desenfoque de alguna manera, de alguna manera, en caso de seleccionar, ya que se enciende antes del evento Seleccionar.

Así que básicamente lo que quiero es una salida como:

HAGA CLIC A CA: BLUR

Seleccionar valor: Seleccione Val

Pero lo que estoy recibiendo es:

HAGA CLIC A CA: BLUR

Seleccionar valor: desenfoque, seleccione Val

que conduce a un AC oculto en SELECT.

¿Fue útil?

Solución

Dado que el evento de desenfoque se dispara cuando selecciona algo, y es probable que no podrá evitar que, en Blur, establezca un tiempo de espera.Si el temporizador se sale, haga lo que normalmente haría en Blur.

En el evento Seleccionar, cancele el temporizador.

Algunos pseudo código muy suelto:

var blurTimer = null;

function handleBlur() {
    blurTimer = setTimeout(function() {
        // do what you normally do onblur
    }, 50);
}

function handleSelect() {
    clearTimeout(blurTimer);

    // do what you normaly do on select
}

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