繁体   English   中英

jQuery UI datepicker动态宽度IE9错误

[英]jQuery UI datepicker dynamic width IE9 bug

我正在根据自己的需要自定义jQuery UI datepicker。 我需要做的一件事是将datepicker的大小调整为与输入相同的大小,所以我要这样做:

$input.on('focus keyup', function(){
  $(this).datepicker('widget').width($(this).outerWidth())
})

它在除IE9之外的所有浏览器上均可完美运行。 它甚至可以在IE8上使用。 一旦您用箭头更改月份/年份,IE9中发生的事情就变得显而易见。 如您所见,有时宽度没有调整,看起来很奇怪。 似乎是随机的,我无法弄清楚该漏洞来自何处以及如何解决。

演示 (日期字段)

有任何想法吗?

好吧,看来我已通过旧的setTimeout(f, 1) hack修复了它。 现在可以在IE9中正常工作。

$(this).datepicker({
  onChangeMonthYear: function () {
    // hack to fix ie9 not resizing
    var w = $(this).outerWidth() // cache first!
    setTimeout(function(){
      $(this).datepicker('widget').width(w)
    }, 1)
  }
})

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM