jQuery Datepicker在选择日期时重新​​打开。(在IE中)

时间:2015-06-25 06:31:54

标签: jquery jquery-ui-datepicker

在datepicker中选择日期时,它没有关闭。它会继续重新打开。需要帮助。谢谢。

var $viewStartPicker = $('<input type="text" id="viewStartPicker" />');

$viewStartPicker.datepicker().change(function () {
        var d = new Date(this.value);
        if (d == "Invalid Date")
            this.value = "Invalid Date";
    }); 

2 个答案:

答案 0 :(得分:0)

哪个版本的IE?在IE 11中对我来说很好。 小提琴:http://jsfiddle.net/ddan/z4ry6dtu/

<input type="text" id="viewStartPicker" />
$(function() {
    $('#viewStartPicker').datepicker().change(function () {
        var d = new Date(this.value);
        if (d == "Invalid Date")
            this.value = "Invalid Date";
    }); 
});

答案 1 :(得分:0)

这是唯一对我有用的解决方案。这个想法是:第二次,当在IE中自动重新打开datepicker日历时,e.relatedTarget是body(addNewLightBox是类,分配给jquery对话框,我也在其他页面中使用datepicker,此对话框不存在 - 问题所在那里不存在):

$(document).on('focus', 'input.datepicker', function (e) {
    var $this = $(this);
    if ($this.closest('.addNewLightBox').length && $(e.relatedTarget).is('body')) {
        $this.datepicker('destroy');
        $this.closest('.addNewLightBox').focus();
        return;
    };
    $this.datepicker({...});
});