JQuery在循环中绑定事件的问题详解


Posted in Javascript onJune 02, 2016

有个页面上需要N个DOM,每个DOM里面的元素ID都要以数字结尾,比如说

<input type="text" name="username" id="username_1" value="" />
<input type="text" name="username" id="username_2" value="" />
<input type="text" name="username" id="username_3" value="" />

现在有个循环,在页面载入的时候需要给这每个元素增加一个onclick事件,很容易想到的写法就是

$(function(){
 for(var i=1; i<=3; i++){
  $('#username_'+i).onclick(function(){
   alert(i);
  });
 }
});

这么写是错误的。。。

错误的原因以及类似的错误分析详见这篇文章《深入理解JQuery循环绑定事件》

然后改成下面的就对了

$(function(){
 for (var i=1; i<=3; i++){
  $("#username_"+i).bind("click", {index: i}, clickHandler);
 }

 function clickHandler(event) {
  var i= event.data.index;
  alert(i);
 }
});

以上这篇JQuery在循环中绑定事件的问题详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JS处理VBArray的函数使用说明
May 11 Javascript
多个jquery.datatable共存,checkbox全选异常的快速解决方法
Dec 10 Javascript
js 验证身份证信息有效性
Mar 28 Javascript
JS实现兼容性较好的随屏滚动效果
Nov 09 Javascript
JS深度拷贝Object Array实例分析
Mar 31 Javascript
JS上传图片预览插件制作(兼容到IE6)
Aug 07 Javascript
angularjs 表单密码验证自定义指令实现代码
Oct 27 Javascript
JS实现仿饿了么在浏览器标签页失去焦点时网页Title改变
Jun 01 Javascript
6行代码实现微信小程序页面返回顶部效果
Dec 28 Javascript
性能优化篇之Webpack构建速度优化的建议
Apr 03 Javascript
使用这 6个Vue加载动画库来减少我们网站的跳出率
May 18 Vue.js
一文搞懂redux在react中的初步用法
Jun 09 Javascript
Javascript字符串拼接小技巧(推荐)
Jun 02 #Javascript
Jquery对新插入的节点 绑定Click事件失效的解决方法
Jun 02 #Javascript
JS从一组数据中找到指定的单条数据的方法
Jun 02 #Javascript
jquery使用on绑定a标签无效 只能用live解决
Jun 02 #Javascript
深入理解jQuery事件绑定
Jun 02 #Javascript
jQuery获取单击节点对象的方法
Jun 02 #Javascript
Bootstrap开发实战之响应式轮播图
Jun 02 #Javascript
You might like
PHP中static关键字以及与self关键字的区别
2015/07/01 PHP
YII中Ueditor富文本编辑器文件和图片上传的配置图文教程
2017/03/15 PHP
PHPstorm快捷键(分享)
2017/07/17 PHP
Jquery + Ajax调用webService实例代码(asp.net)
2010/08/27 Javascript
window.onload追加函数使用示例
2014/03/03 Javascript
js简单抽奖代码
2015/01/16 Javascript
简单谈谈javascript代码复用模式
2015/01/28 Javascript
解决jquery插件:TypeError:$.browser is undefined报错的方法
2015/11/21 Javascript
jQuery实现模仿微博下拉滚动条加载数据效果
2015/12/25 Javascript
第六章之辅组类与响应式工具
2016/04/25 Javascript
功能强大的Bootstrap使用手册(一)
2016/08/02 Javascript
Vue利用canvas实现移动端手写板的方法
2018/05/03 Javascript
简化vuex的状态管理方案的方法
2018/06/02 Javascript
使用node.js实现微信小程序实时聊天功能
2018/08/13 Javascript
微信小程序云开发实现云数据库读写权限
2019/05/17 Javascript
JavaScript事件冒泡机制原理实例解析
2020/01/14 Javascript
js实现拾色器插件(ColorPicker)
2020/05/21 Javascript
Vue3 响应式侦听与计算的实现
2020/11/11 Javascript
一文秒懂nodejs中的异步编程
2021/01/28 NodeJs
Python中正则表达式的用法实例汇总
2014/08/18 Python
python编写爬虫小程序
2015/05/14 Python
详解python 发送邮件实例代码
2016/12/22 Python
关于Python的一些学习总结
2018/05/25 Python
Python 找到列表中满足某些条件的元素方法
2018/06/26 Python
对python修改xml文件的节点值方法详解
2018/12/24 Python
spark dataframe 将一列展开,把该列所有值都变成新列的方法
2019/01/29 Python
Python中判断子串存在的性能比较及分析总结
2019/06/23 Python
Django 实现外键去除自动添加的后缀‘_id’
2019/11/15 Python
python分布式计算dispy的使用详解
2019/12/22 Python
Monki官网:斯堪的纳维亚的独立时尚品牌
2020/11/09 全球购物
新大陆软件面试题
2016/11/24 面试题
建筑工程技术应届生自荐信
2013/09/27 职场文书
一份报关员的职业规划范文
2014/01/08 职场文书
蛋糕店的商业计划书范文
2014/01/27 职场文书
音乐教学反思
2014/02/02 职场文书
房屋转让协议书(标准范本)
2016/03/21 职场文书