在MSIE8和FF中的<textarea>的scrollHeight是不同的</textarea>

时间:2010-10-14 06:48:32

标签: javascript jquery html browser

感谢您的时间,

我计算了<textarea>的scrollHeight并在Microsoft Internet Explorer 8和Firefox上运行它。我在上面提到的浏览器中得到了不同的scrollHeight。

我的应用程序中使用的代码

function getScrollHeight(id) {
     textareaObj = document.getElementById(id);
     var scrollH = textareaObj.scrollHeight;
     alert(scrollH);

}

MSIE8和FF中的<textarea>的scrollHeight是否不同?

如果是,那么如何在上述浏览器中获得相同的scrollHeight?

谢谢,

-Pravin

1 个答案:

答案 0 :(得分:1)

在IE中,scrollHeight计算为元素内容的高度,因此如果内容较少 如果不需要滚动条,您将得到一个小于元素高度的值。

在这种情况下,您可以检索offsetHeight而不是scrollHeight。

如果你需要它非常精确,你还需要用元素的填充和边框宽度来计算,它在两个浏览器中都有所不同。如果你不自己设置它们,那么font-size和line-height是相关的,而每个浏览器都会采用它的默认值。

无论你做什么,在IE中访问属性不是在body的onload被触发之前,否则你会得到奇怪的结果。

scrollHeight @ MSDN
scrollHeight @ MDN