jQuery Datepicker clickoutside detection

时间:2015-04-13 21:56:49

标签: jquery datepicker click detection

我在尝试检测日期选择器之外的点击时遇到问题:我有一个输入(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/

我的问题:如何在日历上更改月份时不触发外部事件(点击上一个和下一个按钮......)?

问候。

1 个答案:

答案 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");
    }
});
相关问题