Chrome(以及浏览本地文件时的 IE)为 textarea 元素的 clientHeight 提供了一个不正确的初始值。如何让 IE 和 Chrome 提供正确的值? ( Problem demo'ed here )
我正在通过 CSS 固定/绝对定位设置 textarea 的位置和大小。然后我通过 jQuery 检查 clientHeight 的值。
该问题不会一直发生,但始终可以重现。具体需要具备以下条件:
我需要准确的 clientHeight 和 scrollHeight 值,因为我使用这些属性来确定将 textarea scrollHeight“对齐”到的位置,以便最后一个输出从文本区域的第一行开始。实际上,如果属性在调用之间始终不准确,它仍然可以工作。不幸的是,在处理第一个命令时,不准确的属性会被调整为正确的值。
我试图在演示 here 中隔离问题。当我尝试制作一个更简单的样本时,问题并没有始终如一地重现。我认为存在一些时间和/或浏览器优化问题,因为以下变通办法使问题消失:
但是,这些变通办法只是杂乱无章,我更愿意找到问题的真正原因/解决方案。虽然这是一个很小的审美问题,但我希望更深入地了解 Html DOM、CSS 和 jQuery 如何在不同浏览器中工作。我的代码有问题吗?
笔记:
最佳答案
我遇到过同样的问题。我用自适应设计得到了错误的 clientHeight。
尝试在 $(window).load();
而不是 $(document).ready();
上获取 clientHeight
它对我有用!
关于jquery - 使用 jQuery 为什么 IE/Chrome 最初为 textarea 提供不正确的 clientHeight 和 scrollHeight?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3374877/