深入理解JQuery循环绑定事件


Posted in Javascript onJune 02, 2016

深入理解JQuery循环绑定事件

<html>
  <head>
    <title></title>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
  </head>
  <body>
    <script type="text/javascript">
      $(document).ready(function () {
        var array = [0, 1, 2, 3];

        // 1.
        
        // 始终弹出3, 因为function() {} 并没有被立即解析,直到调用的时候才被解析,这时index已经是3了。


        // 2.
        
        // 立即弹出0, 1, 2, 3,因为使用了function() {}(index)立即被解析,遇到alert,就立即弹出来了。


        // 3.
        
        // 正确执行,点击btn0,弹出0,点击btn1,弹出1...
        // 1.因为function(i) {}(index)是被立即解析的,所以i依次送入的是0, 1, 2, 3
        // 2.内部没有直接alert,是因为不想立即执行,想点击时再执行,所以返回了一个函数出去。


        // 4.
        for (var index in array) {
          $("#btn" + index).bind("click", {index: index}, clickHandler);
        }

        function clickHandler(event) {
          var index = event.data.index;
          var item = array[index];
          alert(item);
        }
        // 正确执行,点击btn0,弹出0,点击btn1,弹出1...
        // 利用了event.data,因为index在绑定的时候已经被持久化到event.data中了,所以响应的时候我们可以取到。
      });
    
    </script>

    <input type="button" id="btn0" value="btn0" />
    <input type="button" id="btn1" value="btn1" />
    <input type="button" id="btn2" value="btn2" />
    <input type="button" id="btn3" value="btn3" />    
  </body>
</html>

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

Javascript 相关文章推荐
jquery.messager.js插件导致页面抖动的解决方法
Jul 14 Javascript
使用jquery中height()方法获取各种高度大全
Apr 02 Javascript
纯js实现遮罩层效果原理分析
May 27 Javascript
封装好的js判断操作系统与浏览器代码分享
Jan 09 Javascript
js实现点击文本框显示日期选择器特效代码分享
May 21 Javascript
Bootstrap入门书籍之(五)导航条、分页导航
Feb 17 Javascript
JavaScript中Array的实用操作技巧分享
Sep 11 Javascript
jQuery 插件封装的方法
Nov 16 Javascript
Angular网络请求的封装方法
May 22 Javascript
微信小程序template模板与component组件的区别和使用详解
May 22 Javascript
vue使用swiper.js重叠轮播组建样式
Nov 14 Javascript
JS实现悬浮球只在一侧滑动并且是横屏状态下
Aug 19 Javascript
JQuery在循环中绑定事件的问题详解
Jun 02 #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
You might like
php生成缩略图的类代码
2008/10/02 PHP
PHP中shuffle数组值随便排序函数用法
2014/11/21 PHP
PHP抓取远程图片(含不带后缀的)教程详解
2016/10/21 PHP
php实现的中秋博饼游戏之绘制骰子图案功能示例
2017/11/06 PHP
php使用socket调用http和smtp协议实例小结
2019/07/26 PHP
getElementsByTagName vs selectNodes效率 及兼容的selectNodes实现
2010/02/26 Javascript
Jquery 实现Tab效果 思路是js思路
2010/03/02 Javascript
JavaScript中的style.display属性操作
2013/03/27 Javascript
Node.js编码规范
2014/07/14 Javascript
原生js模拟淘宝购物车项目实战
2015/11/18 Javascript
Javascript同时声明一连串(多个)变量的方法
2017/01/23 Javascript
Google 爬虫如何抓取 JavaScript 的内容
2017/04/07 Javascript
最简单的JS实现json转csv的方法
2019/01/10 Javascript
JS实现集合的交集、补集、差集、去重运算示例【ES5与ES6写法】
2019/02/18 Javascript
150行代码带你实现微信小程序中的数据侦听
2019/05/17 Javascript
基于javascript实现贪吃蛇小游戏
2019/11/25 Javascript
react基本安装与测试示例
2020/04/27 Javascript
python实现查找excel里某一列重复数据并且剔除后打印的方法
2015/05/26 Python
Python 基础知识之字符串处理
2017/01/06 Python
python3 面向对象__类的内置属性与方法的实例代码
2018/11/09 Python
python绘制BA无标度网络示例代码
2019/11/21 Python
关于初始种子自动选取的区域生长实例(python+opencv)
2020/01/16 Python
Python 在函数上添加包装器
2020/07/28 Python
Django修改app名称和数据表迁移方案实现
2020/09/17 Python
CSS3之多背景background使用示例
2013/10/18 HTML / CSS
办公室主任岗位承诺书
2014/05/29 职场文书
党员四风问题对照检查材料
2014/09/27 职场文书
合作意向协议书
2015/01/29 职场文书
教师辞职书范文
2015/02/26 职场文书
同学毕业留言寄语
2015/02/27 职场文书
英雄儿女观后感
2015/06/09 职场文书
2015年大学迎新晚会总结
2015/07/16 职场文书
Nginx服务器添加Systemd自定义服务过程解析
2021/03/31 Servers
Python获取江苏疫情实时数据及爬虫分析
2021/08/02 Python
Python如何用re模块实现简易tokenizer
2022/05/02 Python
nginx 配置缓存
2022/05/11 Servers