2014-03-28 193 views
0

我有一个模式弹出,显示了,我不得不添加该代码是:抓住click事件

$("#ItemDetailsPanel").click(function(e) { 
e.stopPropagation(); 
}); 
$(document).click(function() { 
hideItemDialog(); 
}); 

这样我就能够迫使其关闭,如果点击任何地方在元素外部,但我内部有一个日期选择器,如果我点击例如更改弹出窗口立即关闭的月份。我试过

$(".hasDatepicker").click(function(e){ 
    e.stopPropagation(); 
}); 

但它没有为我工作。如果用户点击日期选择器,如何停止执行hideItemDialog()?

+0

可能重复[JQuery UI日期选择器,onclick日期,获取日期和传递到URL](http://stackoverflow.com/questions/8912755/jquery-ui-datepicker-onclick-of-a-date -get-the-date-and-pass-to-url) – Unknown

+0

我会推荐一个像Ben Almans'click outside'这样的jQuery插件来实现此目的,而不是使用任何点击来杀死模态http://benalman.com/code/projects/jquery -event-events/examples/clickoutside/ – haxxxton

+0

我的情况并不相同。对我来说,我有一个问题,除了日期点击任何东西。如果我点击没有执行的日期选择器上的任何地方,请选择我的弹出窗口关闭。 – user2227904

回答

0
$('#ui-datepicker-div').click(function(e){ 
    e.stopPropagation(); 
}); 

诀窍。

+0

这对我不起作用。当我点击prev/next按钮来推进月份时,它仍然会触发对话框关闭。 –