Firefox2中输入框丢失光标bug的解决方法


虽然庆幸的是Firefox3中解决了这个bug,但Firefox3还在beta阶段,取代Firefox2还是需要一些时间的,下面就来仔细说一下这个问题:

一、样式为{position:absolute;}的容器中的表单输入框在样式为类似{overflow:auto;}的容器区域中失去光标
可以通过例一到例六来了解最常见的情况。

如果想整个body都出现失去光标,可以设置html和body两个容器,请看示例。包括举例的overflow:auto在内能引起该Bug的overflow属性共有:

overflow:auto
overflow-x:auto;
overflow-y:auto;
overflow:scroll;
overflow-x:scroll;
overflow-y:scroll;
overflow-x:hidden;
overflow-y:hidden;
除了避免使用overflow属性的其他解决方案:

利用overflow:hidden代替产生bug的oveflow属性
在具有上述overflow属性的容器中加入position:relative,请看实例。
在positon:absolute的容器上加入同样的oveflow属性,同时注意在页面出现的顺序,见例四
为使用能产生bug的oveflow属性的容器选择合适的标签,比如fieldset,见例六。
二、样式为{position:absolute;}的容器中的表单输入框在iframe容器区域中失去光标
可以通过例七来了解这个情况。IE6中为了解决下拉列表级别过高问题,往往需要用iframe来遮盖它,偶尔疏忽忘记做浏览器限定就有可能导致上面的问题。

现在看来Firefox2对iframe的处理bug还真不少,比如以前就发现了Firefox返回时Iframe的显示Bug。



相关阅读:
ASP3.0高级编程(二十九)
Myisamchk
PHP 和 HTML
Tomcat5和IIS6整合
系统是否可以运行Windows 7测试方法
php项目打包方法
Meta标签更加详尽的解释
用CSS控制鼠标样式的显示
js textarea自动下拉(带计数)图
dedecms自动采集文章摘要教程
一个实例讲解MySQL查询优化(三)
Merge在Oracle中的用法注意问题
JavaScript极速狂飙:组合拼接字符串的效率
十个非常实用的CSS属性(IE不支持)
快速导航

Copyright © 2016 phpStudy | 皖ICP备18014864号-4