div滚动条上的Jquery模糊事件

我有一个带滚动条的div。 使用Firefox时,当我点击滚动条向下拖动它以查看div列表时,模糊事件被触发并隐藏我设置为在模糊触发时隐藏的div。 使用滚动条时,如何防止模糊:

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

我用以下方法显示这个div:

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

当我尝试单击滚动条时,我希望div在隐藏时隐藏但不隐藏。

可能这就是你要找的东西

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

这将将click事件与body绑定,并检查触发click事件的元素的id。 如果它与DIV不匹配,div将被关闭,否则div将始终打开。

你可以这样做:

 $(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); } }); 

看看jQuery scroll()检测用户何时停止滚动 , 我可以在jQuery上为滚动事件的开始和结束声明逻辑吗?

看起来你的滚动条没有在div中形成并点击它会导致调用模糊。 请检查用于显示div的用于显示滚动的css /样式正在做你期望的事情(在div中形成滚动条),如果是这种情况,则在两者(div和滚动条)上使用父div并使用focusOut / blur事件在包含两者的父div上。