2012-04-17 85 views
1

我遇到了textareas只讀屬性的問題。我使用jQuery設置屬性,像這樣:Readonly textarea和IE9滾動條

$("#mytextarea").prop("readonly", true); 

的CSS:

textarea { width: 400px; height: 400px; } 
textarea[readonly] { overflow: auto; } 

的HTML:

​​

在Internet Explorer 9,滾動條不showned所以用戶無法讀取溢出內容。所有其他瀏覽器的行爲都是正確的:該字段不可編輯,但用戶可以在其中自由滾動。

如何解決這個問題?

+2

我不知道你使用的是什麼版本的jQuery,但是從版本1.6開始,處理屬性的適當方式是使用['.prop()'](http://api.jquery.com/prop /):'$(「#mytextarea」)。prop(「readonly」,true);' – 2012-04-17 15:20:26

+0

好的,謝謝你的提示;) – 2012-04-17 15:23:45

回答

3

http://www.w3schools.com/cssref/pr_pos_overflow.asp

可見溢出不會被截斷。它呈現在元素的 框外。這是默認

隱藏溢出被剪裁,並對其內容的其餘部分將是 無形

滾動溢出被裁剪,但是添加了一個滾動條看到 休息如果溢出剪裁,滾動條應加入看到 其餘內容繼承的內容

自動指定溢出 屬性的值應該從父元素

試用繼承「滾動」爲overflow屬性的這樣的值:

變化:overflow: auto;overflow: scroll;

因爲它是幹什麼的你不想只在IE9中,如果你想保持自動爲其他大衣。創建兩個CSS文件,並使用你的HTML裏面的代碼:

<!--[if IE 9]> 
    <link rel="stylesheet" type="text/css" href="ie9.css"> 
<![endif]--> 

,並把overflow: scroll;的ie9.css內overflow: auto;你經常CSS裏面。

編輯:斯科特建議,我也嘗試閱讀此鏈接http://paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/ ...關於如何爲每個瀏覽器合併多個CSS。這是減少HTTP請求的好主意和好方法。

+0

犧牲另一個HttpRequest。你可以使用[保羅愛爾蘭的方法](http:// paulirish。com/2008/conditional-stylesheets-vs-css-hacks-answer-both /)將條件類添加到html標記中,該標記允許您針對需要處理的任何版本的IE,在一個樣式表中爲您節省HttpRequest。 – 2012-04-17 15:27:37

+0

@Scott好點。我會編輯我的帖子來添加。 – 2012-04-17 15:30:21

2

更改overflow: autooverflow: scroll