jQuery datepicker 在 IE 中不断重新打开

发布于 2024-11-30 04:48:04 字数 320 浏览 0 评论 0原文

在 IE 8 中单击日期后,jQuery 的日期选择器不断重新打开,甚至在其演示页面上也是如此:

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

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

另外,设置 minDate 和 maxDate 选项在 IE 8 中似乎没有任何效果。 上述情况似乎也适用于 IE 7。

jQuery's datepicker keeps reopening after clicking on a date in IE 8, even on their demo page:

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

Does anyone know how to fix this? I don't know about the demo page, but I am having the exact same problem with jQuery 1.6.2 and jQuery UI 1.8.15.

Also, setting the minDate and maxDate options does not seem to have any effect in IE 8.
The above seems to also be true with IE 7.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

涫野音 2024-12-07 04:48:04

以下为我解决了这个问题(使用 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
});

The following resolved this issue for me (using 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
});
也只是曾经 2024-12-07 04:48:04

1.8.14 在 IE8 中工作正常

重新打开似乎是1.8.15中的一个错误,请参阅损坏的演示

1.8.14 works fine in IE8.

The re-opening seems to be a bug in 1.8.15, see broken demo.

本王不退位尔等都是臣 2024-12-07 04:48:04

我对 IE8 和 Jquery UI 1.8.16 的自定义最小版本(选择所有选项)也有同样的问题,当我使用 1.8.16 的完整发布版本时,问题就消失了。

I had the same issue with IE8 and the customized min version of Jquery UI 1.8.16 (all options selected) When I used the full released version of 1.8.16 the problem went away.

夜无邪 2024-12-07 04:48:04

对于 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;
  }
});

We are facing the same problem for jquery ui 1.11.2. The following snippet solved the problem in our case:

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;
  }
});

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文