Firefox textarea打字导致屏幕抖动(firefox2 winXP)

时间:2009-07-07 19:02:05

标签: javascript jquery firefox textarea

编辑:Firefox 2 Windows XP

重现问题的步骤:

Firefox 2 并访问:http://resopollution.com/rentfox/html/property_setup.html

开始键入并按[确定键]以创建新行

大约10 [输入键]按下后,您会注意到屏幕抖动

这是怎么发生的

这是在我为jQuery安装插件后开始发生的。它位于这里: http://resopollution.com/rentfox/html//js/textarea.js

因此我可以根据文本区域中有多少行来扩展textarea,这取决于可以在CSS中指定的最大高度值。

我尝试在此插件中禁用'setHeight'功能(唯一能动态改变高度的东西),但我仍然看到屏幕抖动。

当我认为问题可能是

Firefox认为屏幕变大了,并通过放置正文文档右侧的滚动条进行补偿。

然而,它意识到实际上页面没有变大,并且移除了滚动条,导致抖动。

我不知道代码中的哪个位置让Firefox以这种方式思考......

感谢任何帮助。

5 个答案:

答案 0 :(得分:2)

无法重现,在Mac OSX + Firefox 3.5中可以正常使用。

答案 1 :(得分:2)

我可以重现它(Debian Lenny,IceWeasel 3.0.6),但只有一个非常非常特定的FireFox窗口大小(略高于1024px,取决于你的系统字体大小,窗口管理器和显示的工具栏数量) )。

只是让您的页面稍微缩短或更高,问题就会消失。问题只发生在10号左右之后添加新行导致firefox使页面 增长到足以导致滚动条出现。正如你猜测的那样。

这是一个微小的10px边距,取决于很多浏览器和系统特定的设置。在页面中,边距大约在1024px的限制范围内,具体取决于系统字体,工具栏,窗口装饰和月亮的相位。将该边距移出1024px区域。要么使页面缩短40-50px,以便不显示滚动条(即使使用大型系统字体和额外的工具栏),也可以使其更高,以便滚动条始终存在。 Zoltan Lengyel在这个帖子中总是强制滚动条的答案也可以使用。

答案 2 :(得分:2)

您可以强制滚动条:http://css-tricks.com/eliminate-jumps-in-horizontal-centering-by-forcing-a-scroll-bar/

或隐藏div的溢出并尝试摆脱滚动条,尝试在div属性设置中隐藏而不是自动隐藏

答案 3 :(得分:1)

我可以在Win XP中的Firefox 3.0.11中重现它。

overflow:hidden添加到body标记似乎可以解决问题,但这样做可能会导致您更加悲痛,然后完全禁用该插件。给body标签overflow-x:scroll永久保留滚动条,但似乎也解决了。

答案 4 :(得分:1)

我在Windows,FF3上复制了它。

有趣的是,它似乎发生在jQuery .height()函数中! 不幸的是,你正在使用缩小版本,所以这是我可以得到的。