IE6 弹出Iframe层中的文本框“经常”无法获得输入焦点

 更新时间:2009年12月27日 23:44:03   作者:  
IE6间歇性精神障碍 弹出Iframe层中的文本框“经常”无法获得输入焦点的解决方法。

公司WEB项目要求是必须兼容FF3,IE6/7/8。本文所述为IE6下的一个BUG.

  项目里面写了一个自己封装的弹出层,原理是先动态添加一个遮罩层,再动态添加一个DIV(Table)层(做弹出层的PNG半透明边框效果),DIV里面动态添加一个IFrame,这个Iframe页面指向一个现存的HTM文件。

  如果这个HTM文件中,包含文本输入框这样的一些表单元素,在IE6下就会出娄子了。

  测试组的人说了,弹出层打开后,“经常”无法获取文本框的焦点,就是鼠标点文本框无法获取焦点并显示输入标记,仿佛被什么透明层给盖住了。但有时是正常的,可谓间歇性精神障碍。有的机子上百分之五十的几率出现,有的机子上百分之三十左右的几率出现。

  少不了得做一番测试和分析了。

  经我在虚拟机IE6测试,也发现的确如测试组的人所说。

  我确信不可能有多余的覆盖层,因为除文本框之外,它周围的任何文字都可以正常的用鼠标选中,它周围的任何元素包括这个文本框本身也能响应onclick事件,只是无论怎么点,都无法获取输入焦点。(文本框没有设置readOnly或者disabled)

  但是,某些小动作就可以让它们恢复正常,比如在这个Iframe里右键刷新一下,或者是在这个Iframe里按'TAB'键将焦点切换到任何一个文本框,这时,所有的文本框都可以用点击正常获得焦点了。还真是变态!

  咱总不能说这是IE6的BUG我们程序无法解决吧,领导是不听这话的。

  经过一番努力,还是有了解决方案。

  我发现,手动调用一下任何一个(通常是第一个)文本框的focus()方法就可以让所有的文本框恢复神智了。于是写了一个公共脚本,在Iframe内的页面末尾,获取第一个文本框并调用其focus(),经测百来次,再没碰见无法获取焦点的情况,问题解决。

下面是网友回复:
弹出的那个标签是<a />标签吧?
换成<span />标签似乎就OK了

相关文章

  • JavaScript对象访问器Getter及Setter原理解析

    JavaScript对象访问器Getter及Setter原理解析

    这篇文章主要介绍了JavaScript对象访问器Getter及Setter原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-12-12
  • js window对象属性和方法相关资料整理

    js window对象属性和方法相关资料整理

    这篇文章主要介绍了js window对象属性和方法相关资料整理,需要的朋友可以参考下
    2015-11-11
  • 利用用JS实现一个实时小闹钟

    利用用JS实现一个实时小闹钟

    天我们来聊聊如何使用JS来创建一个实时的小闹钟,这个小闹钟十分的有趣,小伙伴们可以运行一下,看看跟你电脑上的时间是否对的上呢,文章通过代码示例介绍的非常详细,需要的朋友可以参考下
    2023-11-11
  • js中string和number类型互转换技巧(分享)

    js中string和number类型互转换技巧(分享)

    下面小编就为大家带来一篇js中string和number类型互转换技巧(分享)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-11-11
  • JS中队列和双端队列实现及应用详解

    JS中队列和双端队列实现及应用详解

    这篇文章主要介绍了JS中队列和双端队列实现及应用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • bootstrap配合Masonry插件实现瀑布式布局

    bootstrap配合Masonry插件实现瀑布式布局

    这篇文章主要为大家详细介绍了bootstrap配合Masonry插件实现瀑布式布局,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-01-01
  • js设置鼠标悬停改变背景色实现详解

    js设置鼠标悬停改变背景色实现详解

    这篇文章主要介绍了js设置鼠标悬停改变背景色实现详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,,需要的朋友可以参考下
    2019-06-06
  • js计算系统当前日期是星期几的方法

    js计算系统当前日期是星期几的方法

    这篇文章主要为大家详细介绍了js计算系统当前日期是星期几4种方法,需要的朋友可以参考下
    2016-07-07
  • JavaScript设置表单上传时文件个数的方法

    JavaScript设置表单上传时文件个数的方法

    这篇文章主要介绍了JavaScript设置表单上传时文件个数的方法,可实现动态增加及删除表单上传按钮的功能,非常简单实用,需要的朋友可以参考下
    2015-08-08
  • JS 日期比较大小的简单实例

    JS 日期比较大小的简单实例

    本篇文章主要是对JS日期比较大小的简单实例进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助
    2014-01-01

最新评论