`

在东软的最后一天,发现的一个IE6的bug

阅读更多
在东软工作的最后一天帮同事解决了一个问题,感觉很欣慰.
废话再多说,直接让代码来说明一切.
<html>
 <head>
<script language="JavaScript">

function fireBug(buttonObj){

buttonObj.disabled=true;

}

</script>
 </head>

 <body>
   <input type="button" value="fire bug" onmouseup="fireBug(this)" >
   <br/>
<!-- 以下元素只是帮助判断页面假死状态 -->
  <select >
	<option value="111" selected>111</option>
	<option value="222">222</option>
  </select>
<br/>

<input type="text" value=""/>

 </body>
</html>



以上代码在IE6 下会让页面呈现假死状态.
想让IE脱离假死状态,只有让IE窗口失去焦点再获得.

这个BUG在IE7下已经修复.

在IE6下的解决方案有3种:
1 使用onclick代替onmouseup.
2 如果必须使用onmuseup,那么需要使用window.setTimeout来延后运行buttonObj.disabled=true;语句
3 在disabled=true之后执行个 window.blur()或者alert 或者  confirm或者window.open....总之执行一个让当前窗口失去焦点再获得的js语句.

不知道这个bug的标准的描述是怎样的,总之在一个完整的click事件发生之前,如果将事件的源弄成了disabled的,那么ie6就会有问题.

这个bug可能早就地球人都知道了,但是我确实是才发现的,那就见笑了.
分享到:
评论
10 楼 脑袋雷劈的 2008-08-11  
日,原来你是NEU的~~晕啊!!
小弟也是啊!
9 楼 tylerxi 2008-06-26  
汗.... 看了好久你的文章...原来是以前是NEU的....同事啊.... 呵呵... 不过小弟依然在NEU受罪...
8 楼 ueseu 2007-09-08  
楼主为什么离开东软?

我前几天才去应聘东软(南京)
7 楼 tendy 2007-09-07  
将焦点指向 buttonObj 以外的元素即可
例如 document.getElementById('elementId').focus();
6 楼 carter 2007-09-06  
失去焦点后,再进去,就不会出现假死了.
5 楼 kris_xu 2007-09-06  
一个不错的bug。
4 楼 fkpwolf 2007-08-20  
LZ最后一天还这么敬业,皮肤啊
3 楼 tacone 2007-08-17  
hax说得对,比如在其他地方mousedown,然后移动到这个button上释放就不会出现假死现象了
2 楼 hax 2007-08-17  
这是ie的bug,但是这个代码的逻辑也不对。想要表达的意思是click之后disable这个Button,但是mouseup可能并不是一次click,比如在其他地方mousedown,然后移动到这个button上释放。
1 楼 fins 2007-08-17  
不是我 我是13号发现的 呵呵

相关推荐

    东软集团编码规范

    东软集团编码规范是软件开发过程中的一个重要组成部分,对于提高代码质量、减少错误、提高开发效率和维护性具有重要意义。本规范总结了东软集团多年的软件开发经验,提供了一整套完整的编码标准和best practice,...

    DnuiOJ_oj题库_大连东软信息学院_打包文件_大连东软oj_DnuiOJ_

    【标题】"DnuiOJ_oj题库_大连东软信息学院_打包文件_大连东软oj_DnuiOJ_"所提及的是一个针对大连东软信息学院的在线编程竞赛(Online Judge,简称OJ)题库的压缩包。这个资源包含了学院内部用于教学和竞赛的编程题目...

    东软防火墙清除密码方法

    东软防火墙清除密码方法

    东软JAVA内部资料

    【东软JAVA内部资料】是一份专为学习和理解JAVA编程语言而精心编撰的资源集合,由知名软件公司...这份东软的内部资料,无疑为学习者提供了一个全面且深度的学习路径,无论你是初学者还是有经验的开发者,都能从中受益。

    东软蓝牙解决方案

    【东软蓝牙解决方案】是基于蓝牙技术的一种无线通信网络方案,旨在实现低成本、高可靠性的语音和数据传输。蓝牙技术以其独特的短距离无线连接能力,使得来自不同制造商的设备能够无缝地交换信息并进行交互操作,广泛...

    东软防火墙用户配置手册

    东软防火墙用户配置手册

    东软JAVA资料

    【标题】"东软JAVA资料"所指的是一份与东软公司相关的Java编程学习资源。东软集团是中国知名的IT解决方案和服务提供商,以其在软件开发领域的专业性而著称。这份资料可能是东软公司内部为员工或学员提供的Java培训...

    东软的一个小项目,没有前台,通过数据库注册登录,在控制台显示

    该项目是一个基于JavaEE技术栈的小型后端应用,由东软公司开发,主要功能是实现用户注册、登录以及数据的增删改查操作。由于描述中提到“没有前台”,我们可以理解这个系统仅提供了后台服务,可能是一个命令行界面...

    东软载波笔试题

    - **单例模式**:确保一个类只有一个实例,并提供一个全局访问点。 - **工厂模式**:提供创建对象的接口,但允许子类决定实例化哪个类。 - **观察者模式**:定义对象间的一种一对多依赖关系,当一个对象的状态发生...

    东软社保管理系统业务库表结构

    例如,可以创建一个视图来汇总每个单位的总缴费额,或者显示某个险种的参保人数。 4. 业务逻辑处理:除了基础表结构,系统还涉及到一系列的业务逻辑处理,如缴费计算规则、待遇发放规则等。这些逻辑可能体现在存储...

    HIS医院管理系统_东软云医院管理信息系统,东软云医院系统

    总结,东软云医院管理系统集成了先进的HIS业务体系和云技术,旨在打造一个高效、智能、安全的医疗信息管理环境。通过整合医疗资源,优化工作流程,提高医疗服务水平,最终实现患者、医护人员、医院管理者的共赢。...

    (最新整理)东软信息安全管理办法考试试卷(2019).pdf

    在多选题中,员工应遵守的制度包括《东软信息安全管理办法》、公司信息安全管理体系文件、《员工保密协议》和《离职保密承诺书》,信息安全涵盖人员安全、网络安全、操作安全和物理安全等多个层面。侵犯商业秘密的...

    东软医保接口

    - V1.15版本是一次较大的更新,涉及多个交易的参数调整,特别是增加了与生育保险和工伤保险相关的参数,进一步完善了医保接口的功能覆盖范围。 ##### (二)交易功能概览 - **关键交易说明**: - **01交易**:...

    东软始业教育结业考试 2021.12.30

    "东软始业教育结业考试 2021.12.30" 本资源摘要信息涵盖了东软始业教育结业考试 2021.12.30 的相关知识点,涵盖了...* NeuSA 一个支持域是组织与执行。 * 东软提出“Beyond Technology” 的品牌理念时间为 2005-3-1。

    东软 C C++ 培训结业考试 内部试题 机选原题

    【东软 C/C++ 培训结业考试 内部试题 机选原题】是一系列针对C和C++编程语言的考核资料,旨在检验学员在完成东软的培训课程后对这两种语言的掌握程度。这些内部试题覆盖了从基础到高级的各种题目,为学员提供了全面...

    东软软件人才培养模式探讨

    此外,东软还与国内多所高校合作,开办定制培养班,让学生在大学的最后阶段就可以学习到最新的行业知识和技术,提前与产业发展同步。 在解决人才知识更新的问题上,东软还建立了大学生创业实训中心,为在校大学生...

    东软uap开发手册

    东软UAP(Unified Application Platform)是东软集团推出的一款企业级应用开发平台,旨在提供一个高效、灵活且可扩展的开发环境,帮助企业快速构建和部署业务系统。本手册主要围绕UAP的核心功能、架构设计、API使用...

    东软集团校园招聘试题

    4. String与StringBuffer的区别:这是Java编程中的一个基础知识点,String表示不可变的字符串,而StringBuffer是可变的,适合进行频繁的字符串操作,因此在效率上,StringBuffer优于String。 5. 控制流结构:试题...

Global site tag (gtag.js) - Google Analytics