jQuery:delegate中select()不起作用的解决方法(实例讲解)


Posted in Javascript onJanuary 26, 2014

jQuery有一个很好用的delegate(事件委派)功能,可以给当前以及将来(动态添加)的元素绑定一个事件处理函数。

比如下面的例子,动态添加一个输入文本框后,我想让所有文本框(不管是不是动态添加的)在获取焦点时,自动转大写。

<!doctype html>
<html>
<head>
    <title>delegate测试</title>
 <script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.6.js"></script>
 <style type="text/css">
*{padding:0;margin:0;list-style:none;margin:5px} 
 </style>
 <script type="text/javascript">
//动态添加一行文本输入框
function addInput(){ 
 $("#ulTarget").append("<li><input type=\"text\" value=\"aaaaaa\"/></li>"); 
}

$().ready(function(){
 $("#ulTarget").delegate(":text","focus",function(){
$(this).val($(this).val().toUpperCase());
 }); 
})
 </script>
</head>
<body>
  <ul id="ulTarget">
 <li><input type="text" value="123456abc"/></li>
 <li><input type="text" value="123456abc"/></li>
 <li><input type="text" value="123456abc"/></li>
 <li><input type="text" value="123456abc"/></li>
  </ul>   
  <button id="btnAdd" onclick="addInput()">add input</button> 
</body>
</html>

接下来,我还想加点小功能,在获取焦点时,还要让文本框自动全选。
$().ready(function(){
 $("#ulTarget").delegate(":text","focus",function(){
$(this).val($(this).val().toUpperCase()).select();
 }); 
}) 

但是实际测下来,.select()死活就是不起作用,无奈请出setTimeout
$().ready(function(){
 $("#ulTarget").delegate(":text","focus",function(){
var jqObj = $(this);
jqObj.val(jqObj.val().toUpperCase());
setTimeout(function(){jqObj.select();},100);
 }); 
}) 

解决了.
Javascript 相关文章推荐
jquery 1.4.2发布!主要是性能与API
Feb 25 Javascript
jquery 通过name快速取值示例
Jan 24 Javascript
jquery向上向下取整适合分页查询
Sep 06 Javascript
JS实现的5级联动Select下拉选择框实例
Aug 17 Javascript
JavaScript数据类型学习笔记
Jan 25 Javascript
jQuery获取当前点击的对象元素(实现代码)
May 19 Javascript
微信小程序  audio音频播放详解及实例
Nov 02 Javascript
HTML的select控件美化
Mar 27 Javascript
vue微信分享 vue实现当前页面分享其他页面
Dec 02 Javascript
使用Vue的slot插槽分发父组件内容实现高度复用、更加灵活的组件(推荐)
May 01 Javascript
详解VUE调用本地json的使用方法
May 15 Javascript
JavaScript实现网页计算器功能
Oct 29 Javascript
javascript:FF/Chrome与IE动态加载元素的区别说明
Jan 26 #Javascript
js中的时间转换—毫秒转换成日期时间的示例代码
Jan 26 #Javascript
JS将所有对象s的属性复制给对象r(原生js+jquery)
Jan 25 #Javascript
手机平板等移动端适配跳转URL的js代码
Jan 25 #Javascript
Extjs中RowExpander控件的默认展开问题示例探讨
Jan 24 #Javascript
jquery批量设置属性readonly和disabled的方法
Jan 24 #Javascript
jquery 通过name快速取值示例
Jan 24 #Javascript
You might like
PHP数据库调用类调用实例(详细注释)
2012/07/12 PHP
php实现模拟post请求用法实例
2015/07/11 PHP
Laravel访问出错提示:`Warning: require(/vendor/autoload.php): failed to open stream: No such file or di解决方法
2019/04/02 PHP
JQuery Tips(4) 一些关于提高JQuery性能的Tips
2009/12/19 Javascript
javascript 传统事件模型构造的事件监听器实现代码
2010/05/31 Javascript
Javascript中的getUTCHours()方法使用详解
2015/06/10 Javascript
AngularJS使用ngMessages进行表单验证
2015/12/27 Javascript
复杂的javascript窗口分帧解析
2016/02/19 Javascript
JavaScript获取IP获取的是IPV6 如何校验
2016/06/12 Javascript
在web中js实现类似excel的表格控件
2016/09/01 Javascript
JS实现微信里判断页面是否被分享成功的方法
2017/06/06 Javascript
Vue2.0权限树组件实现代码
2017/08/29 Javascript
详解JavaScript的BUG和错误
2018/05/07 Javascript
vue封装可复用组件confirm,并绑定在vue原型上的示例
2019/10/31 Javascript
js实现中文实时时钟
2020/01/15 Javascript
Python socket C/S结构的聊天室应用实现
2014/11/30 Python
深入理解Python单元测试unittest的使用示例
2017/11/18 Python
Python-OpenCV基本操作方法详解
2018/04/02 Python
详解Django的model查询操作与查询性能优化
2018/10/16 Python
Pycharm以root权限运行脚本的方法
2019/01/19 Python
Python批量查询关键词微信指数实例方法
2019/06/27 Python
Python学习笔记之文件的读写操作实例分析
2019/08/07 Python
python GUI库图形界面开发之PyQt5 UI主线程与耗时线程分离详细方法实例
2020/02/26 Python
Python GUI库Tkiner使用方法代码示例
2020/11/27 Python
html5指南-1.html5全局属性(html5 global attributes)深入理解
2013/01/07 HTML / CSS
代码中finally中的代码会不会执行
2012/02/06 面试题
Java程序员综合测试题
2014/04/25 面试题
面包店的创业计划书范文
2014/01/16 职场文书
活动策划邀请函
2014/02/06 职场文书
六个一活动实施方案
2014/03/21 职场文书
校园环保建议书
2014/05/14 职场文书
“向国旗敬礼”活动策划方案(4篇)
2014/09/27 职场文书
网络管理员岗位职责
2015/02/12 职场文书
夏洛特的网观后感
2015/06/15 职场文书
致创业的您:这类人不适合餐饮创业
2019/08/19 职场文书
如何使用pdb进行Python调试
2021/06/30 Python