当焦点丢失IE8时,文本区域光标跳到顶部

时间:2012-10-26 08:28:16

标签: javascript jquery html internet-explorer-8

我有一个标准的文本区域,其中有很多内容显示溢出,当我通过单击文本框或从文本框中跳出标签区域中的光标跳到顶部而无法关注此文本区域时。

另外,当我停止输入相同的情况时

有没有办法用jquery或其他手段阻止这种情况?我不确定它是否是IE8中的错误,但这是客户端请求。

提前致谢

1 个答案:

答案 0 :(得分:4)

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

这种情况发生在使用百分比宽度而不是固定宽度的文本框中,并且有几个记录的“修复”,虽然并非一切都适合我...

首先,可以选择通过CSS修复textarea的宽度,还可以使用min-widthmax-width来设置百分比(但是,这在旧浏览器中不起作用) 。这对我来说无效,因为我使用的textareas数量都需要不同的宽度。

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

Here is an article from somebody who originally found the bug, with an explanation of the above.

其次,您可以尝试将列数设置为远远大于文本框的可视大小。 Here is an answer giving details of how to do this, and why they think this is the problem.然而,我实际上无法让这个工作,尽管它是几个上升票的公认答案。

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

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

这也会使“兼容性”按钮消失,因此您的用户无法将其意外地重新置于IE8模式。