当前位置: 代码迷 >> Java Web开发 >> 解决ie6的select有关问题很多天,什么时候能看见日出啊
  详细解决方案

解决ie6的select有关问题很多天,什么时候能看见日出啊

热度:3429   发布时间:2013-02-25 21:19:56.0
解决ie6的select问题很多天,什么时候能看见日出啊~~~~
一个星期了,有名的ie6的 select下拉框的bug,命苦~~~疯掉之后的之后了~~找不到一个好办法呢?

------解决方案--------------------------------------------------------
用框架解决,推荐jquery和Prototype
------解决方案--------------------------------------------------------
用jQuery的dialog就可以盖住。

我们之前的做法是用panel和DIV结合,用一个大的panel盖住整个页面,设置透明的属性,然后再panel上面付出一个DIV就可以盖住select标签

注:这样的缺点是DIV弹出后,用户将不能操作DIV下面的主页面。
------解决方案--------------------------------------------------------
什么bug?代码贴出来看看啊
------解决方案--------------------------------------------------------
我常用的解决法子
//设置select的可见状态
function setSelectState1(state)
{
var objl=document.getElementsByTagName('select');
for(var i=0;i<objl.length;i++)
{
objl[i].style.visibility=state;
}
}
//隐藏调用setSelectState1('hidden');
//显示调用setSelectState1('');
做弹出框时先调用隐藏方法,关闭时调用显示方法

------解决方案--------------------------------------------------------
在程序中注明,推荐用户使用IE7。就这么简单。
国际bug,你自己解决它干嘛啊?
------解决方案--------------------------------------------------------
用jquery的bgiframe可以解决楼主的问题,但不知道1.36K的开销能承受否?
------解决方案--------------------------------------------------------
顶起。。。
------解决方案--------------------------------------------------------
其实这个bug影响不大,如果客户懂技术,他会明白的;如果不懂,你就可以推荐他使用IE7+,或者FireFox。
------解决方案--------------------------------------------------------
IE6著名的bug,用frame遮盖貌似。
------解决方案--------------------------------------------------------
abcc项目实现这样一个功能:点击“上载查询”,弹出一个绝对定位的div(类似qq文件中转站的“上传文件”按钮),里面有上传按钮等,点击后div在最上层。即z-index为最大。在firefox下表现良好,在IE6下无论如何也盖不住select。这是IE下一个著名的bug,解决方法用一个iframe包住select。

 

以下是一个测试的静态html,为bug重现及及解决方法。

HTML code
  <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  <html>  <head>  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  <title>Insert title here</title>        <style type="text/css">                     #d1,#d2 {               width:  400px;               height : 400px;           }           #d1 {                      position : absolute;               top : 100px;               background : red;               z-index : 1;           }           #d2 {               position : absolute;               top : 150px;               background : blue;               z-index : 2;           }         </style>  </head>  <body>                  <div id="d1">            <form>                           <input type="text" name="username"/>          </form>          <p>中國</p>          <form>              <iframe style="z-index:1"><!-- 用iframe 解决此bug -->                  <select name="country">                                  <option value="1">china</option>                  <option value="2">japanese</option>                  <option value="1">U.S.A</option>              </select>              </iframe>          </form>      </div>             <div id="d2">ddd</div>    </body>  </html>
  相关解决方案