jQuery datepicker在IE中不断重新开放

时间:2011-08-16 20:55:15

标签: internet-explorer jquery-ui internet-explorer-8 datepicker

jQuery的datepicker在IE 8中点击日期后仍然重新打开,即使在他们的演示页面上也是如此:

http://jqueryui.com/demos/datepicker/

有谁知道如何解决这个问题?我不知道该演示页面,但我遇到了与jQuery 1.6.2和jQuery UI 1.8.15完全相同的问题。

此外,设置minDate和maxDate选项似乎在IE 8中没有任何效果。 IE 7也似乎也是如此。

4 个答案:

答案 0 :(得分:8)

以下为我解决了这个问题(使用jQuery 1.7.2 / jQueryUI 1.8.20)

var $input = $('#date');

$input.datepicker({
  /* 
   * your other settings here 
   */
  onSelect : function() { $input.blur(); },
  onClose  : function() { $input.change(); }
});

$input.on('change paste', function(evt) {
  // process new date input here
});

答案 1 :(得分:1)

1.8.14 works fine在IE8中。

重新开放似乎是1.8.15中的一个错误,请参阅broken demo

答案 2 :(得分:1)

我遇到了与IE8相同的问题以及Jquery UI 1.8.16的自定义最低版本(选择了所有选项)当我使用1.8.16的完整版本时,问题就消失了。

答案 3 :(得分:1)

我们面临着jquery ui 1.11.2的同样问题。以下代码段解决了我们的问题:



var input = $('<input>');

input.datepicker({
  onSelect: function() {
    this.lastShown = new Date().getTime();
  },
  beforeShow: function() {
    var time = new Date().getTime();
    return this.lastShown === undefined || time - this.lastShown > 500;
  }
});
&#13;
&#13;
&#13;