我有一个标准文本区域,其中包含很多显示溢出的内容,当我通过单击或跳出文本框而失去对该文本区域的关注时,文本框中的光标会跳到顶部。
另外,当我停止打字时,也会发生同样的情况
有什么办法可以用 jquery 或其他方式来防止这种情况发生吗?我不确定这是否是 IE8 中的错误,但这是客户端请求。
提前致谢
我有一个标准文本区域,其中包含很多显示溢出的内容,当我通过单击或跳出文本框而失去对该文本区域的关注时,文本框中的光标会跳到顶部。
另外,当我停止打字时,也会发生同样的情况
有什么办法可以用 jquery 或其他方式来防止这种情况发生吗?我不确定这是否是 IE8 中的错误,但这是客户端请求。
提前致谢
这是 IE8 中公认的错误,但我知道没有可用的修补程序/修补程序(另外,即使有,也不能保证查看您页面的计算机有修补程序/修补程序)。
这发生在使用百分比宽度而不是固定宽度的文本框上,并且有几个记录的“修复”,尽管并非所有这些都对我有用......
首先,可以选择通过 CSS 固定 textarea 的宽度,还可以使用min-width
andmax-width
设置百分比(但是,这在旧浏览器中不起作用)。这对我不起作用,因为我使用的大量文本区域都需要不同的宽度。
textarea {
width: 700px;
min-width: 100%;
max-width: 100%;
}
其次,您可以尝试将列数设置为比文本框的视觉大小大得多。 这是一个答案,详细说明了如何执行此操作,以及为什么他们认为这是问题所在。 然而,我实际上无法让它发挥作用,尽管它是有几个赞成票的公认答案。
meta
最后,我选择在每个页面的开头使用以下标记强制 IE8 使用兼容模式(我使用 ASP.NET 母版页,所以这不是一项大工作)。
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
这也会使“兼容性”按钮消失,因此您的用户不可能不小心将其放回 IE8 模式。