输入IE8内部的不可见文本

时间:2013-11-19 12:55:37

标签: input internet-explorer-8 modal-dialog

我遇到了IE8的一些神奇行为。在对话框内有登录表单,输入中的文本在用户输入时不会立即显示但是在一段时间后。光标正在移动,但文本不可见。它仅适用于对话框内的输入,页面上的输入效果很好。为了显示对话框,使用了以下引导函数$dialogElement.dialog('show')你有任何想法,为什么会这样?如果需要,我可以提供更多细节。

由于

PS

以下是site,您可以在登录对话框中注意到该问题

这是行为的example

4 个答案:

答案 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还是更新的操作系统?你尝试过不同的机器/虚拟机吗?

这可能是您的环境设置问题吗?

(在我能够复制错误行为之前,我无能为力。)


BTW:可能会发现,在不同的环境下尝试,只有少数几个设置才会出现问题,而在大多数IE8设置中它都没有。

它可能取决于图形板,某些DLL或配置文件丢失,配置错误,损坏......所有通常会导致Windows机器出现问题的事情。

在这种情况下,你可以考虑忽略这个问题。

答案 2 :(得分:0)

来自Benjamin GruenbaumDropdownlist 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>