jQuery 1.8 + jQuery UI的Dialog按鈕問題

jQuery 1.8 + jQuery UI的Dialog按鈕問題

看到jQuery 1.8 Release之後就高高興興地升級專案的jQuery,結果測試時發現Dialog的文字都不見了,

找了Google上相關的問題,發現似乎是一個Bug,

其解法也蠻簡單的,只要在使用dialog後接著修正的程式碼即可,


{
    var $this = $(this);
    if ($this.text() == '') //if it has no text (bugged) 
        $this.text($this.parent().attr('text')); //sets the text which was passed
});
這樣子,按鈕的文字就又回來了。

















{
    var dialog = $.fn.dialog;

    $.fn.dialog = function (opt)
    {
        dialog.call(this, opt);
        $('.ui-button-text').each(function ()
        {
            var $this = $(this);
            if ($this.text() == '') //if it has no text (bugged) 
                $this.text($this.parent().attr('text')); //sets the text which was passed
        });
    };
})(jQuery);

將這段程式碼插入到載入jQuery UI之後,就可以暫時地修正dialog的按鈕文字是空白的問題,這個解決方式,

倒是可以用來做為JavaScript程式擴充的參考。