jQuery UI 1.0 Dialog 小問題

其實不算 bug,但可能跟你想像得不一樣

最近稍微用了一下 jQuery UI,發現在 dialog 的部份有個小問題,預設的情況下,它會將產生出來的 dialog 置於畫面中央,而我自己實驗(在 IE 及 Firefox 下)的結果,若該頁的長度沒有超過瀏覽器視窗大小的話很正常,但若是超過視窗高度,那就會有點不如預期了。簡單地說,它在 Firefox 裡生出來的 dialog 是放在「文件」的中央,而不是「畫面」的中央。

會有這個問題,是因為 ui.dialog.js 裡面在計算「中心」時,用的公式是:
[code lang="javascript"]
$(window).height() / 2 - uiDialog.height() / 2
[/code]
其中 $(window).height() 這個 jQuery Dimension API,在 IE 裡算出來的是瀏覽器視窗的高度,但在 Firefox 裡卻是整份文件的高度,所以就會有所差異了。

不過看一下 trunk 裡的版本,好像計算公式有點改變了,只不過有時候在 IE 會正常,Firefox 中還是老樣子,不過可以肯定的是, 1.0 版本不是很 OK 啊 Orz

  • 不妨试试EXT的