FireFox中的scrollHeight属性

Lin*_*nus 9 html javascript

我正在研究一个函数来检测DIV元素内的文本是否会溢出.在这方面,我在Chrome和IE中都有一个功能,它将元素的scrollHeight与clientHeight属性进行比较.

但是在FireFox中,两个属性(以及offsetHeight)总是报告相同的数字,恰好是div元素的高度.

如果我将'overflow:auto'添加到div样式,我会从scrollHeight属性中获得准确的结果.但是显示滚动条对于我正在进行的项目来说不是一个可接受的解决方案.

有什么建议?

the*_*ejh 15

这是记录在案的行为:

当元素的内容不生成垂直滚动条时,其scrollHeight属性等于其clientHeight属性.

https://developer.mozilla.org/en/DOM/element.scrollHeight


我知道它不干净,但你可以这样做吗?

e.style.overflow = "scroll";
var scrollHeight = e.scrollHeight;
e.style.overflow = "hidden";
Run Code Online (Sandbox Code Playgroud)

用户无法看到,因为当当前没有运行javascript时,页面才会重新绘制.