我在尝试检测日期选择器之外的点击时遇到问题:我有一个输入(datepicker)。单击时,日历将打开。然后我想检测有人在日历外点击。我使用这段代码:
$(document).click(function (e) {
//click outside detection
var container = $("#ui-datepicker-div,#datepicker");
if (!container.is(e.target) // if the target of the click isn't the container...
&& container.has(e.target).length === 0) // ... nor a descendant of the container
{
alert("out");
}
});
效果不错但是当我点击下一个和上一个按钮时出现问题:它会触发clickoutside事件。
http://jsfiddle.net/Fa8Xx/3086/
我的问题:如何在日历上更改月份时不触发外部事件(点击上一个和下一个按钮......)?
问候。
答案 0 :(得分:1)
尝试使用它,
$( "#datepicker" ).datepicker();
$(document).click(function (e) {
//Clic hors de la ligne ou du calendrier ou du bouton valider dans la derniere colonne
var container = $("#ui-datepicker-div,#datepicker");
if (!($(e.target).is($('#ui-datepicker-div,#datepicker')) || $(e.target).has($('#ui-datepicker-div,#datepicker')).length === 0))
{
alert("out");
}
});