Имеет значение scrollHeight <textarea> в MSIE8 и FF

Спасибо за ваше время,

Я вычислил scrollHeight <textarea> и запустил его в Microsoft Internet Explorer 8 и Firefox. Я получаю разные scrollHeight в вышеупомянутых браузерах.

Код, используемый в моем приложении

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

}

Чем отличается scrollHeight от <textarea> в MSIE8 и FF?

Если да, то как добиться того же самого прокрутки в упомянутых браузерах?

Спасибо,

-Pravin

Ответ 1

В IE scrollHeight вычисляется высота содержимого элемента, поэтому, если есть меньше контента что никаких полос прокрутки не требуется, вы получите значение меньше высоты элемента.

В этом случае вы можете получить offsetHeight вместо scrollHeight.

Если вам это нужно очень точно, вам также нужно вычислить с помощью padding и border-width элемента, он отличается в обоих браузерах тем, что они включают в себя. Также размер шрифта и высота строки связаны, если вы не устанавливаете их самостоятельно, в то время как каждый браузер будет принимать по умолчанию.

Независимо от того, что вы делаете, в IE доступ к свойствам не до того, как будет запущена загрузка onload, в противном случае вы получите странные результаты.

scrollHeight @MSDN
scrollHeight @MDN