2014-09-06 12 views
0

我試圖用JS設置textarea的高度,默認可以這麼說,但讓用戶稍後調整它的大小。所以我用這個HTML/CSS/JS:我可以設置TEXTAREA元素的高度,但讓用戶稍後調整它的大小嗎?

<textarea id="i3" cols="45" rows="5" style="line-height: 1.0;"> 
</textarea> 

var obj = document.getElementById("i3"); 
if(obj.scrollHeight > obj.offsetHeight) 
{ 
    obj.style.height = obj.scrollHeight + 'px'; 
} 

的問題是,當textarea的大小調整的用戶不能調整其大小比我的JS設置的高度。有什麼辦法讓用戶這樣做嗎?

PS。我需要這個谷歌瀏覽器只(我正在寫一個Chrome擴展。)

+0

我沒有嘗試過,所以對不起,我如果設置文本區域的resizable屬性相當肯定的,目前大多數的瀏覽器將能夠調整盒子。我現在無法檢查,因爲我正在使用手機。 – Jhecht 2014-09-06 09:58:41

+0

'resize'屬性會起作用,但是如果你明確設置了行,我認爲它不允許你將高度降低到低於5行所需的高度。 – Harry 2014-09-06 09:59:39

+0

相關主題 - http://stackoverflow.com/questions/15146449/custom-css-to-allow-chrome-textarea-resize-smaller-than-initial-state – Harry 2014-09-06 10:01:26

回答

-1

的問題是,你根據這個瀏覽器,如果條件if(obj.scrollHeight > obj.offsetHeight)使用不吩咐,尋找當它是小,所以設定的條件

var obj = document.getElementById("i3"); 
if(obj.scrollHeight > obj.offsetHeight) 
{ 
    obj.style.height = obj.scrollHeight + 'px'; 
} 
else if(obj.scrollHeight < obj.offsetHeight) 
    { 
     obj.style.height = obj.scrollHeight - 'px'; 
    } 

我認爲這將幫助,但如果我撥錯

+0

對不起,但你的JS沒有意義。 – c00000fd 2014-09-06 10:09:02

+0

我沒試過。我只是提出了一個概念,當scrollheight小於offsetheight時,您必須定義一個條件。 因爲你只在更大的時候才定義它,所以代碼只有當它更大時才起作用,當它不更大時停止你 – himanshu 2014-09-06 10:15:05

+0

做這個'obj.scrollHeight - 'px''是什麼意思? – c00000fd 2014-09-06 18:42:30

相關問題