当jQuery1.7遇上focus方法的问题_jquery

jQuery中有一个focus()方法能设置对象的焦点,在1.7以下的版本中,不管对象是不是disabed状态,这个方法都不会报错(只是当disabled时,设置焦点的代码无效),但在1.7版本中,如果对象是disabled状态,这时调用focus()方法时,会直接报异常:

Error: Can't move focus to the control because it is invisible, not enabled, or of a type that does not accept the focus.

意思是:不可见或不可用的元素无法获取焦点。(特别提一下:IE9很NB,能自动识别这种情况,在IE9下不会报错,但是IE9以下的版本全挂。)

复制代码 代码如下:

<!doctype html>
<html>
 <head>
 <title>测试</title>
 <script src="jquery-1.7.min.js" type="text/javascript"></script>
 <!--<script src="jquery-1.4.4.min.js" type="text/javascript"></script>-->
 <script type="text/javascript">
  function fnTest(){
   //try{
    $("#txt").focus();
   //}catch(e){}
  }  
 </script>
 </head>
 <body>
  <div>
   <input type="text" disabled="disabled" id="txt"/>
   <input type="text" id="txt2"/>
   <input type="button" value="Test" onclick="fnTest()"/>
  </div>
 </body>
</html>

虽然只是一个小变化,但是却很容易造成大杯具,特别是你的js代码,在focus()之后,还有其它很多事情要做时:)

建议:
如果一定要用最高版本的jQuery,最省事的办法莫过于在写xxx.focus()时,加一个try/catch,变成try{xxx.focus();}catch(e){}

时间: 2024-09-12 01:53:00

当jQuery1.7遇上focus方法的问题_jquery的相关文章

当jQuery1.7遇上focus方法的问题

 如果一定要用最高版本的jQuery,最省事的办法莫过于在写xxx.focus()时,加一个try/catch,变成try{xxx.focus();}catch(e){} jQuery中有一个focus()方法能设置对象的焦点,在1.7以下的版本中,不管对象是不是disabed状态,这个方法都不会报错(只是当disabled时,设置焦点的代码无效),但在1.7版本中,如果对象是disabled状态,这时调用focus()方法时,会直接报异常:   Error: Can't move focus

当jQuery 1.7遇上focus方法

jQuery中有一个focus()方法能设置对象的焦点,在1.7以下的版本中,不管对象是不是disabed状态,这个方法都不会报错(只是当disabled时,设置焦点的代码无效),但在1.7版本中,如果对象是disabled状态,这时调用focus()方法时,会直接报异常: Error: Can't move focus to the control because it is invisible, not enabled, or of a type that does not accept t

jquery1.4 教程二 ajax方法的改进_jquery

1 允许序列化嵌套的参数. 比如:{foo: ["bar", "baz"]} 将被序列化成foo[]=bar&foo[]=baz,而不是序列化成以前的foo=bar&foo=baz. 如果你想要使用旧的序列化方式,有三种设置方法: 复制代码 代码如下: jQuery.ajaxSettings.traditional = true; jQuery.param( stuff, true ); $.ajax({ data: stuff, tradition

MySQL批量插入遇上唯一索引避免方法_Mysql

一.背景 以前使用SQL Server进行表分区的时候就碰到很多关于唯一索引的问题:Step8:SQL Server 当表分区遇上唯一约束,没想到在MySQL的分区中一样会遇到这样的问题:MySQL表分区实战. 今天我们来了解MySQL唯一索引的一些知识:包括如何创建,如何批量插入,还有一些技巧上SQL: 这些问题的根源在什么地方?有什么共同点?MySQL中也有分区对齐的概念?唯一索引是在很多系统中都会出现的要求,有什么办法可以避免?它对性能的影响有多大? 二.过程 (一) 导入差异数据,忽略重

当jquery ajax遇上401请求的解决方法_jquery

jquery ajax是个很常用接口,而在请求时候,可能存在响应401的情况(身份认证过期或未登录),比较容易出现在混合应用上,如何进行身份认证,重发失败请求,还是值得注意的. ajax请求有两种方式 1. 回调 最常写的方式,成功失败处理以回调方式传入. $.ajax({ ajax参数... success : xxxxxx error: xxxxxx }); 2. Deferred方式 Deferred模式我在<js异步编程>有说明, ajax调用本身返回就是一个Deferred对象,成功

jQuery 绑定事件到动态创建的元素上的方法实例_jquery

在进入主题之前,我们先来看一个前台页面经常用到的功能:点击页面输入框时自动选择其中文本. 很容易想到利用输入框的focus事件,当输入框获得焦点时,再调用jQuery的select()方法. Okay,想法很简单,逻辑似乎也无错.具体我们来看一下现实到底能不能实现. 1.页面构造个表单,放上几个输入框.代码看起来是这样子的. 复制代码 代码如下: <form action="/" method="post">        <table>  

当 App Store 遇上电视,开发者的第四代 Apple TV 开箱体验

当 App Store 遇上电视,开发者的第四代 Apple TV 开箱体验 引子 2015 年 9 月,San Francisco.今年接近 100 华氏度的气温要比往年都更热,而 Apple 例行的秋季发布会也如期在这里举行.自从 iPhone 一战成名后,每年的 iPhone 旗舰机型都是移动通讯设备的业界标杆.而今年秋季发布会大家也自然地将重点放在了最新的 iPhone 6s 上.手机乏善可陈,除了硬件参数的一些常规升级外,我们并没有看到 iPhone 有多大进步.不过这也是大家预料之中

当搜索引擎营销遇上SaaS(软件即服务)

本文讲的是当搜索引擎营销遇上SaaS(软件即服务),[IT168 资讯]互联网创造若干个神话,也造就无数的网络英雄,随着Web2.0应用的不断深入,销售人员的触脚已经延展到互联网的各个角落,就拿刚刚成立四年的网上提供高端步行和野营装备的Backcountry Edge公司而言,绝对不会放过任何一个营销机会,于是Clickable公司在去年推出新的软件即服务(SaaS)时,该公司马上报名参加测试该服务以求觅得销售良机. Clickable的服务宗旨是在搜索引擎营销的复杂性和乏味性上做减法,让用户能

当技术宅遇上技术债:你见,或者不见 债就在那里

当了15年IT民工,待过几家公司,做过不少项目,捅过一些篓子,也掉进过好多个坑,今天与大家分享一些对于技术债的看法. 大家都知道,我呢,是一个"长情"的人--不知道的话可以用这个关键词加上我的名字搜索一下--. 也就是在一个公司待的年头会长一些,也就有机会用更长的时间视角看待一些系统.项目的发展变化. 对于一些技术债务的产生和影响,以及后续的清偿就有更多的切身体会,最近也比较关注,正好跟大家交流交流. 第一部分:技术债是如何形成的 技术债务是由Ward Cunningham在1992年