2011-10-22 30 views

Respuesta

51

La burbuja de eventos focusin y focusout, focus y blur eventos no lo hace. Esto significa que puede usar focusin y focusout en el elemento principal de un campo de formulario.

Demostración: http://jsfiddle.net/pAp4E/

HTML:

<div class="parent"> 
    <input type="text" /> 
</div> 

<div class="log"></div> 

Javascript:

$('.parent') 
    .focusin(function(){log('div focusin');}) 
    .focusout(function(){log('div focusout');}) 
    .focus(function(){log('div focus');}) 
    .blur(function(){log('div blur');}); 
$('input') 
    .focusin(function(){log('input focusin');}) 
    .focusout(function(){log('input focusout');}) 
    .focus(function(){log('input focus');}) 
    .blur(function(){log('input blur');}); 

function log(str){ 
    $('.log').append($('<div/>').text(str)); 
} 

Cuando se ejecuta, se ve que sólo la entrada se lleva todos los eventos, los padres solamente tiene la focusin y focusout eventos.

+0

Gracias a este. – user960567

+0

Agosto de 2015 - Firefox aún no admite focusin/focusout (https://developer.mozilla.org/en-US/docs/Web/Events/focusin). Hombre que soltaron la pelota ... –

+0

@ArnaudLeyder: Sí, todavía no está implementado en Firefox, pero jQuery lo emula. – Guffa

10

Los eventos de enfoque y borrosidad hacen un seguimiento de los elementos en los que el usuario se enfoca.

  1. enfoque

    Se activa cuando un elemento enfocable gana el enfoque

  2. desenfoque

    Se activa cuando un elemento enfocable pierde el foco

  3. focusin y focusOut

    Fuego en el s ame el tiempo como foco y desenfoque, pero burbujea.

por ejemplo check this

Cuestiones relacionadas