我遇到了IE8的一些神奇行为。在对话框内有登录表单,输入中的文本在用户输入时不会立即显示但是在一段时间后。光标正在移动,但文本不可见。它仅适用于对话框内的输入,页面上的输入效果很好。为了显示对话框,使用了以下引导函数$dialogElement.dialog('show')
你有任何想法,为什么会这样?如果需要,我可以提供更多细节。
由于
PS
以下是site,您可以在登录对话框中注意到该问题
这是行为的example
答案 0 :(得分:1)
在寻找同样的问题之后,我找到了两种可能的解决方案。您可以尝试遵循这些。如果这不起作用,我不确定我是否可以为你做更多的事情,而无法访问css。
Passwords showing up as white (or not at all) in IE
Dynamic Elements are not appearing in IE8 until there is a mouse click
如果这些解决方案中的任何一个都适合您,请告诉我。
正如我的评论中所述,另一种解决方案可能是使用javascript隐藏弹出窗口,而不是在CSS中使用display: none;
。这样,元素首先由浏览器呈现,之后将被隐藏。如果它是通过CSS隐藏的,则不会渲染元素,直到显示它。
在您的情况下,这意味着您可以删除以下CSS
.hide {
display: none;
}
并在页面加载后立即通过javascript隐藏元素.hide
。
答案 1 :(得分:1)
我知道这不是一个答案本身但我会改进它,因为会有更多细节......
我刚刚使用Windows XP,IE8在我的测试虚拟机上尝试过您的网站。
您的登录表单(您在截屏视频中显示的表单)运行正常。没问题。
文字(以及密码字段上的项目符号)就像我输入一样显示。
您使用的是Windows XP还是更新的操作系统?你尝试过不同的机器/虚拟机吗?
这可能是您的环境设置问题吗?
(在我能够复制错误行为之前,我无能为力。)
它可能取决于图形板,某些DLL或配置文件丢失,配置错误,损坏......所有通常会导致Windows机器出现问题的事情。
在这种情况下,你可以考虑忽略这个问题。
答案 2 :(得分:0)
来自Benjamin Gruenbaum的Dropdownlist text is invisible in IE8
IE8不支持textContent属性。你必须为它填充并使用innerText。
option.textContent = option.innerText = departments[i][1];
答案 3 :(得分:0)
我也遇到过这个问题,对我来说问题是,其中一个父元素是绝对定位的' (即职位:绝对)。
我注意到您的主页上不再显示登录对话框,但这可能对其他人有帮助。假设你有这种结构:
<div class="container">
<div class="dialog">
<!-- dialog content here -->
</div>
</div>
您在IE8中遇到隐形文本问题,请尝试添加:
<style>
.container {
position: absolute;
}
</style>