2012-01-23 62 views
137

¿Hay alguna diferencia entre los eventos de JS desenfocar vs focusout?blur vs focusout - ¿alguna diferencia real?

Tengo dos cuadros de texto: pwd y confirmo pwd. Quiero verificar la coincidencia de contraseñas cuando las pestañas de usuario salgan del cuadro de diálogo de confirmación pwd, por ejemplo. En este caso, ¿qué evento debo usar o importa?

Respuesta

204

La documentación para focusout dice ( énfasis mío):

focusout El evento se envía a un elemento cuando, o cualquier elemento dentro de ella, pierde el foco. Esto es distinto del evento blur en que admite la detección de la pérdida de foco en los elementos descendientes (en es decir, admite el burbujeo de eventos).

La misma distinción existe entre los eventos focusin y focus.

+1

Es compatible con la detección de pérdida de foco de los elementos ** secundarios **, no de los elementos principales. Si la documentación solía decir ** padre **, estaba mal. Ahora dice ** elementos descendientes **. –

126

Como se indica en el evento JQuery documentation

El focusOut se envía a un elemento cuando ésta, o cualquier elemento dentro de ella, pierde el foco. Esto es distinto del evento de desenfoque porque admite detectar la pérdida de foco en los elementos descendientes (en otras palabras, admite el burbujeo de eventos).

+19

@suhail: Si marca las * veces * exactas (pase el ratón sobre el tiempo de respuesta), esta fue 50 segundos más tarde que Frédéric (+1 a las dos de todas formas) :) –

Cuestiones relacionadas