我正在使用Ben Alman's outside events plugin关闭模式窗口,当用户点击它时。这很有效,直到我需要在模态中使用jQuery UI的datepicker。由于构成窗口小部件的元素未放置在模态内,因此在选择日期时模式会关闭,这是正确的行为。为了解决这个问题,我做了以下几点:
$('#modal-window, #ui-datepicker-div').one('clickoutside', function(){
// close the modal window
});
这只会导致模态窗口在单击时关闭。
答案 0 :(得分:1)
从您在问题中链接的页面
请注意,您还可以在事件处理程序逻辑中使用
event.target
属性,该属性引用所单击的实际元素。如果您想将点击的“外部”限制为某些元素或容器,这可能很有用。
我会使用event.target
和closest
来查找该链接是否在日期选择器中。
$('#modal-window').one('clickoutside', function(event) {
if (!$(event.target).closest('#ui-datepicker-div').length) {
$(this).hide(); // or whatever code you have for hiding the modal window
}
});