Evento Jquery Blur en div scrolbar

Tengo un div con barra de desplazamiento. Usando Firefox cuando hago clic en la barra de desplazamiento para arrastrarlo hacia abajo para ver la lista de div, se desencadena el evento de desenfoque y oculta mi div que he configurado para ocultar cuando se dispara el desenfoque. ¿Cómo puedo evitar que el desenfoque se dispare cuando se utiliza la barra de desplazamiento?

$("#mydiv").blur(function () { $('#mydiv').fadeOut(); console.log("fadeout blur"); }); 

Muestro este div usando:

  $('#mydiv').fadeIn(); 

Quiero que el div se oculte cuando no esté activo, pero no se oculte cuando bash hacer clic en la barra de desplazamiento.

Puede ser esto lo que buscas.

 $(document).ready(function(){ $('#mydiv').fadeIn(); $("body").bind('click', function(ev) { var myID = ev.target.id; if (myID !== 'mydiv') { $('#mydiv').fadeOut(); } }); }); 

Esto vinculará el evento de clic con el cuerpo y también verificará la identificación del elemento que activa el evento de clic. Si no coincide con el DIV, el div se cerrará o el div estará siempre abierto.

Puedes hacer esto:

 $(window).scroll(function() { $('#mydiv').css('display','block'); }); 
 var scrolling = false, scrollingTimeout, blurTimeout; $(window).scroll(function () { if (scrollingTimeout) { clearTimeout(scrollingTimeout); } scrolling = true; scrollingTimeout = setTimeout(function(){ scrollingTimeout = null; scrolling = false; }, 300); }); $("#mydiv").blur(function () { var that = $(this); if (!scrolling) { that.fadeOut(); } else { if (blurTimeout) { clearTimeout(blurTimeout); } blurTimeout = setTimeout(function () { blurTimeout = null; that.focus(); }, 600); } }); 

ver jQuery scroll () detectar cuando el usuario detiene el desplazamiento y ¿Puedo declarar la lógica en jQuery para el inicio y el final de un evento de desplazamiento?

Parece que tu barra de desplazamiento no está formada dentro del div y hacer clic en ella hace que la llamada se difumine. Compruebe si el estilo / css utilizado para mostrar scroll for div está haciendo lo que está esperando (formando una barra de desplazamiento dentro de div), si este es el caso, use un div padre sobre ambos (div & scroll bar) y use el evento focusOut / blur en div padre que contiene ambos.