2012-07-10 65 views
0

我正在爲我的需要定製jQuery UI日期選擇器。其中一個我需要的東西是調整的日期選擇器是大小相同的輸入,所以我這樣做:jQuery UI datepicker動態寬度IE9 bug

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

它可以完美運行在所有瀏覽器IE9,但。它甚至適用於IE8。只要用箭頭更改月份/年份,IE9中發生的事情就會變得很明顯。正如你所看到的,有時寬度沒有調整,看起來很奇怪。它似乎是隨機的,我無法弄清楚錯誤來自哪裏以及如何解決它。

DEMO(日期字段)

任何想法?

回答

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