2012-05-14 22 views
8

par de minutos, respondí la pregunta:
What is the difference between focusin/focusout vs focus/blur in jQuery?¿Por qué event.bubbles es falso para "focusin" y "focusout"? Hace

La respuesta fue:

Respuesta corta: focusin y thinsp; & thinsp; & thinsp; burbujas, focus no.
              focusout burbujas, blur y thinsp; no.

he comprobado, es cierto, pero me encontré con una cosa extraña al intentar establecer un DEMO:

$('#test').on('focusin focusout focus blur change', function(e) { 
    console.log(e.type + 'event bubles? : ' + e.bubbles); 
});​ 

focusin y focusout dame e.bubbles == false

¿Es un error de jQuery o ¿Me estoy perdiendo lo obvio aquí?

+0

Falso/falso en Chrome 18 (en caso de que quiera algunas notas del navegador ...) – jmar777

Respuesta

4

Suena como un error en jQuery. ¿Ha probado esto en un navegador que admite focusin y focusout de forma nativa? (Por ejemplo, ¿IE?) Porque si no, está probando la bandera para el soporte emulado de jQuery.

He tachado el bit anterior "Suena como un error" porque jQuery no pretende normalizar la propiedad bubbles en la documentación. Entonces, como no lo garantiza, no tiene que ser compatible con eventos emulados. (Tenga en cuenta que si ejecuto su demostración en IE7, obtengo undefined porque IE7 no admite la propiedad de eventos DOM3 bubbles). Sigue siendo un problema , pero quizás no es un error. :-)


actualización:

Respuesta de the jQuery ticket:

La documentación no pretende normalizar la propiedad Event.bubbles. Puede buscarlo en event.originalEvent, pero será cualquiera que sea la plataforma proporcionada, no normalizada.

Así que mi suposición anterior era correcta. No es un error , porque no pretenden normalizar eso. :-)

+1

Probado con 'chrome' – gdoron

+0

WOW Encontré un error en jQuery, ¿hay una insignia para él? Voy a meta ... :) – gdoron

+0

@gdoron: Sólo presumiendo derechos. :-) –

Cuestiones relacionadas