我有一个div显示onclick的链接,我想在div外部点击鼠标时隐藏(类似于大多数模态框功能) - 问题是当用户使用浏览器滚动条时,被视为点击并隐藏div
这是我用来显示div
$('.trigger').click(function(e){
e.preventDefault();
open_slideout(this);
});
function open_slideout(el){
$(document).unbind('mousedown');
//code here to display the div if its not already shown
//close on click-out
$(document).bind('mousedown',function(){
$(panel_id).removeClass('active').hide('fast');
$(el).removeClass('active');
});
$('.panel.active').bind('mousedown',function(e){e.stopPropagation();});
$('.trigger').bind('mousedown',function(e){e.stopPropagation();});
}
所以我设置了stopPropagation,如果他们在活动区域内单击,但就像我说的,如果他们使用滚动条,它会隐藏div
答案 0 :(得分:2)
这似乎已经成功了:
$(document.body).bind('mousedown',function(){
答案 1 :(得分:0)
$(window).scroll(function(){
scrolling = true;
});
/*other code */
$(document).bind('mousedown',function(){
if(!scrolling){
$(panel_id).removeClass('active').hide('fast');
$(el).removeClass('active');
}
}).bind('mouseup',function(){ scrolling = false; })
/*other code */