我正在根据自己的需要自定义jQuery UI datepicker。我需要的一件事是将datepicker的大小调整为与输入相同的大小,所以我这样做:
$input.on('focus keyup', function(){
$(this).datepicker('widget').width($(this).outerWidth())
})
它适用于所有浏览器,但IE9。它甚至适用于IE8。只要您使用箭头更改月份/年份,IE9中发生的情况就会变得明显。如您所见,有时宽度不调整,看起来很奇怪。它似乎是随机的,我无法弄清楚bug来自何处以及如何解决它。
DEMO(日期字段)
有什么想法吗?
答案 0 :(得分:0)
好吧,我似乎用旧setTimeout(f, 1)
黑客修复了它。它现在在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)
}
})