專案新Phase最近上線了!!然而在號稱跨瀏覽器支援的jQuery,卻也有碰上死穴的時候!!
在本次專案UI設計裡,因‹table›資料裡有視情況在click時‹tr›做顯示/隱藏的效果。若以javascript撰寫‹tr›做style.display的block/none時,Firefox在資料呈現上卻無法像IE一樣做到滿區塊(width=100%)呈現,因此採用jQuery toggle()方法來做。
實作上也順利將效果展現。然而此時卻傳出IE8沒反應?!怎麼會這樣?!剛開始檢查了jQuery語法,也沒發現錯誤,之後Google一下才發現為jQuery 1.3.2 的bug(我是用jquery-latest.pack.js版本)---在‹tr›選取器上做toggle()就沒反應。
我的解法是:
維持原jQuery寫法,針對‹tr›顯示/隱藏的效果另以javascript寫一支js,只給IE8使用,語法如下:
‹!--[if IE 8]›‹script type="text/javascript" src="js/minisite-effect1016.js"›‹/script›‹![endif]--›
IE8的問題也就解決摟,並且不會動到目前的HTML及開發程式碼!!
2010年10月18日 星期一
訂閱:
文章 (Atom)