技术头条 - 一个快速在微博传播文章的方式     搜索本站
您现在的位置首页 --> JavaScript --> IE6下appendChild的一个小问题。

IE6下appendChild的一个小问题。

浏览:2178次  出处信息

    项目中遇到一个小问题,但严重影响了用户体验。

    我们先看一个例子:

    http://www.cssrain.cn/demo/dialog_jQuery_ui/modal_looseState.html

    这是我们项目中采用的jquery ui dialog 做的页面,我把他提取出来,简化一下。

    例子中,点击add按钮弹出遮罩层,层中有2个文本框和2个多选框。

    现在我们开始测试这个问题:

    首先,我们在文本框上输入文本,把多选框也选中。然后点击窗口关闭。

    接下来,我们再点击add按钮,重新打开层。

    在ie7下,发现刚才所填写的,所选中的一切正常。

    在ie6下,文本框的内容还存在,但多选框的选中已经丢失。

    接下来为了找出原因,我看了下jquery的源码,然后发现jquery使用了appendChild这个方法,

    于是我写了个简单的例子来验证是不是它引起的:

    http://www.cssrain.cn/demo/dialog_jQuery_ui/b.html

    经验证,果真如此,ie6下多选框选中状态在点击appendChild后,丢失了。

    暂时解决办法是:

    在多选框上添加:onclick="this.defaultChecked=(!this.defaultChecked)"

    修改后的例子:

    http://www.cssrain.cn/demo/dialog_jQuery_ui/modal.html

建议继续学习:

  1. 解决IE6从Nginx服务器下载图片不Cache的Bug    (阅读:6965)
  2. IE6下position:absolute相邻元素margin-top失效的bug    (阅读:3025)
  3. 让IE6支持min-width    (阅读:2782)
  4. IE6中a标签location.href失效解决方法    (阅读:2367)
  5. IE6浮动引起的一些BUG    (阅读:2178)
  6. 这到底是谁之错?    (阅读:1424)
  7. IE6下经典的请求abort问题    (阅读:1291)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
© 2009 - 2024 by blogread.cn 微博:@IT技术博客大学习

京ICP备15002552号-1