博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
IE6-IE9兼容性问题列表及解决办法_补充之五:在IE9下, disabled的文本框内容被选中后,其他控件无法获得焦点问题...
阅读量:6721 次
发布时间:2019-06-25

本文共 1125 字,大约阅读时间需要 3 分钟。

先看一段Htm代码,里面一个disabled的文本框,一个普通可写的文本框,还有一个按钮,非常简单,代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">

<html xmlns="">
<head>
    <title></title>
</head>
<body>
  Disabled Input: <input type="text" id="b1" value="asldfjasldfa" disabled="disabled" ></input><br />
  Non-Disabled Input: <input type="text" id="b2" value="asldfjasldfa"></input>
  <input type="button" id="butt1" name="butt" value="关闭" οnclick="window.close()" />
</body>
</html>

运行出来的页面如下:

通过实际测试发现,在IE9下,鼠标一旦进入disabled的文本框,比如在里面拖拽鼠标并选中一些内容,然后再想把鼠标挪开,比如挪到第二个文本框中,或者比如点击以下关闭按钮,就会发现,办不到了,似乎disabled文本框的焦点永远无法离开了,其他文本框或者按钮永远获得不到焦点,除非用Tab键切换,或者干脆切换到其他软件界面后再转回来,这时别的控件才可以被点中。

 

经过测试,在IE6, 7, 8, 10上都无此问题。 

 

经过咨询获悉,发现这确实是IE9的一个bug。

 

如何解决呢?下面是我们摸索出来的几个方法,抛砖引玉一下:

1.升级到IE10。

升级到IE10,自然就解决了这个问题。因为既然IE10既然已经解决这个问题了,那么IE9就应该不会再为这个bug专门发布补丁修复程序了。

2.鼠标双击一下页面其他部分,就可以把焦点从disabled文本框中解脱出来了。

3.写脚本禁止disabled文本框被选择也是一个方法,但前提是文本框既然已经disabled了,就不接受任何js事件了,那么,只能在其父元素上搞这个动作了,比如在disabled文本框外再套个东东,在那上面绑定js事件,禁止此区域被鼠标进入或选择,这样,相应的,其内部的disabled文本框也就不能被选择了,那么,这个文本框焦点无法离开的问题也就不存在了。

 

不知道诸位是否遇到过这个问题,是否有更好的解决方法? 

转载于:https://www.cnblogs.com/liuzhendong/archive/2012/10/20/2732234.html

你可能感兴趣的文章
session的序列化、钝化、活化
查看>>
PHP中的抽象类与抽象方法/静态属性和静态方法/PHP中的单利模式(单态模式)/串行化与反串行化(序列化与反序列化)/约束类型/魔术方法小结...
查看>>
==与===的区别
查看>>
JS 在指定数组中随机取出N个不重复的数据
查看>>
软件开发模型
查看>>
Windows Store App下代码加载page resource和resw文件里的string
查看>>
数据结构基本知识点总结
查看>>
【翻译】前景img-sprites, 高对比模式分析
查看>>
进程和线程的一个简单形象的解释
查看>>
The road to learning English-Grammar
查看>>
Python多线程编程之多线程加锁
查看>>
shell报错:-bash: [: ==: 期待一元表达式 解决方法 ([: ==: unary operator expected)
查看>>
opengl 杂记
查看>>
兼容MIUI5和MIUI6的开启悬浮窗设置界面
查看>>
基于FPGA的DDS设计(一)
查看>>
.net 开发框架(一)[数据通用层]
查看>>
sql-ISNULL函数(转载)
查看>>
天启android5.1系统无法在非1650批次号的rk3288w芯片上启动
查看>>
C#.net书籍列表
查看>>
将IRepository接口进行抽象,使它成为数据基类的一个对象,这样每个子类都可以有自己的最基础的CURD了...
查看>>