3

我有一个标准文本区域,其中包含很多显示溢出的内容,当我通过单击或跳出文本框而失去对该文本区域的关注时,文本框中的光标会跳到顶部。

另外,当我停止打字时,也会发生同样的情况

有什么办法可以用 jquery 或其他方式来防止这种情况发生吗?我不确定这是否是 IE8 中的错误,但这是客户端请求。

提前致谢

4

1 回答 1

4

这是 IE8 中公认的错误,但我知道没有可用的修补程序/修补程序(另外,即使有,也不能保证查看您页面的计算机有修补程序/修补程序)。

这发生在使用百分比宽度而不是固定宽度的文本框上,并且有几个记录的“修复”,尽管并非所有这些都对我有用......

首先,可以选择通过 CSS 固定 textarea 的宽度,还可以使用min-widthandmax-width设置百分比(但是,这在旧浏览器中不起作用)。这对我不起作用,因为我使用的大量文本区域都需要不同的宽度。

textarea {
  width: 700px;
  min-width: 100%;
  max-width: 100%;
}

这是最初发现该错误的人的一篇文章,并对上述内容进行了解释。

其次,您可以尝试将列数设置为比文本框的视觉大小大得多。 这是一个答案,详细说明了如何执行此操作,以及为什么他们认为这是问题所在。 然而,我实际上无法让它发挥作用,尽管它是有几个赞成票的公认答案。

meta最后,我选择在每个页面的开头使用以下标记强制 IE8 使用兼容模式(我使用 ASP.NET 母版页,所以这不是一项大工作)。

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />

这也会使“兼容性”按钮消失,因此您的用户不可能不小心将其放回 IE8 模式。

于 2012-10-26T08:50:44.253 回答