代码之家  ›  专栏  ›  技术社区  ›  mk.

是什么使IE6不接受输入框中的文本?

  •  2
  • mk.  · 技术社区  · 15 年前

    我有两个未禁用的输入框。当其中一个获得焦点时,不会显示光标,也不会显示键入的任何文本。这些元素附加了几个事件,但没有JS错误。预期行为发生在ie7、ie8、ff2、ff3、chrome和safari中。

    编辑: 下面是附加事件的代码示例。请注意,我使用的是YUI 2。

    YAHOO.util.Event.addListener(searchInputTop, 'focus', searchInputOnFocus);
    YAHOO.util.Event.addListener(searchInputTop, 'blur', searchInputOnBlur);
    searchInputOnBlur = function (e) 
    {   
        if (e) 
        {   
            target = (e.target || e.srcElement);
        }   
        if (target && !target.value || target.value === "") 
        {   
            target.value = someDefault;
        }   
        target.className = 'someclass';
    };  
    
    searchInputOnFocus = function(e)
    {   
        if (e) 
        {   
            target = (e.target || e.srcElement);
        }   
        if (target.value === currentDefaultText)
        {   
            target.value = ""; 
        }   
        target.className = "";
    };
    

    更新:

    我认为我的任何代码都与此无关。我在IE6中查看的具有输入框的任何页面都具有相同的行为。我在WinXP Service Pack 3的虚拟机下使用多个IE来运行IE6。

    3 回复  |  直到 15 年前
        1
  •  2
  •   Community CDub    8 年前

    这个问题本身就是多重的。

    在这里: IE6 forms: focus disabled on input fields? (Multiple IEs after IE8)

    有人建议卸载multipleie,然后尝试通过程序文件访问这些文件(这些文件在卸载后仍保留)。

    另一种方法是安装“Internet Explorer Collection”,而不是安装multipleie。

    ( http://finalbuilds.edskes.net/iecollection.htm )

    希望这能解决你的问题。

    干杯

        2
  •  0
  •   user254875486 TM Creative    15 年前

    我也有同样的问题。在我的情况下,它甚至不影响我在哪个网站,没有一个文本框,我可以输入文本…

        3
  •  0
  •   NickFitz    15 年前

    一个可能的解释是,IE正在扩展一些透明的元素,以覆盖输入字段,这是由于它的许多奇怪的CSS和布局错误之一。使用dom检查器,如 IE Developer Toolbar 看看上面有没有什么东西。

    (我已经链接到该产品的维基百科页面,因为它有更好的机会在同一个网址上停留一段时间,而不是那些奇怪的microsoft.com网址中的一个,后面有32位十六进制数字。在microsoft.com上下载页面的今天位置链接位于底部。)