深入理解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 相关文章推荐
JavaScript 异步调用框架 (Part 1 - 问题 &amp; 场景)
Aug 03 Javascript
基于Jquery的实现回车键Enter切换焦点
Sep 14 Javascript
JavaScript高级程序设计 读书笔记之八 Function类及闭包
Feb 27 Javascript
jquery实现点击TreeView文本父节点展开/折叠子节点
Jan 10 Javascript
Js中获取frames中的元素示例代码
Jul 30 Javascript
js实现幻灯片效果(基于jquery插件)
Nov 05 Javascript
JavaScript的字符串方法汇总
Jul 31 Javascript
JavaScript中的ajax功能的概念和示例详解
Oct 17 Javascript
微信小程序自定义导航栏实例代码
Apr 05 Javascript
浅谈layer弹出层按钮颜色修改方法
Sep 11 Javascript
深入理解 TypeScript Reflect Metadata
Dec 12 Javascript
JS sort方法基于数组对象属性值排序
Jul 10 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
用Simple Excel导出xls实现方法
2012/12/06 PHP
Eclipse中php插件安装及Xdebug配置的使用详解
2013/04/25 PHP
基于php-fpm的配置详解
2013/06/03 PHP
php实现与erlang的二进制通讯实例解析
2014/07/23 PHP
深入理解Yii2.0乐观锁与悲观锁的原理与使用
2017/07/26 PHP
javascript 拖放效果实现代码
2010/01/22 Javascript
javascript 模式设计之工厂模式学习心得
2010/04/27 Javascript
jquery特效 幻灯片效果示例代码
2013/07/16 Javascript
js关闭浏览器窗口及检查浏览器关闭事件
2013/09/03 Javascript
jquery中常用的SET和GET$(”#msg”).html循环介绍
2013/10/09 Javascript
Javascript 鼠标移动上去 滑块跟随效果代码分享
2013/11/23 Javascript
Javascript实现的常用算法(如冒泡、快速、鸽巢、奇偶等)
2014/04/29 Javascript
js清空表单数据的两种方式(遍历+reset)
2014/07/18 Javascript
jquery复选框多选赋值给文本框的方法
2015/01/27 Javascript
一步步教你利用webpack如何搭一个vue脚手架(超详细讲解和注释)
2018/01/08 Javascript
vue项目中应用ueditor自定义上传按钮功能
2018/04/27 Javascript
浅析Vue实例以及生命周期
2018/08/14 Javascript
在Vue中使用axios请求拦截的实现方法
2018/10/25 Javascript
vue工程全局设置ajax的等待动效的方法
2019/02/22 Javascript
Vue组件通信入门之Provide和Inject机制
2019/12/29 Javascript
JS sort排序详细使用方法示例解析
2020/09/27 Javascript
[01:01:35]Optic vs paiN 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
python用ConfigObj读写配置文件的实现代码
2013/03/04 Python
Python判断值是否在list或set中的性能对比分析
2016/04/16 Python
Python分治法定义与应用实例详解
2017/07/28 Python
浅谈Python由__dict__和dir()引发的一些思考
2017/10/30 Python
判断python字典中key是否存在的两种方法
2018/08/10 Python
Python多继承原理与用法示例
2018/08/23 Python
Python 使用list和tuple+条件判断详解
2019/07/30 Python
利用python实现.dcm格式图像转为.jpg格式
2020/01/13 Python
Python 读取位于包中的数据文件
2020/08/07 Python
python 视频下载神器(you-get)的具体使用
2021/01/06 Python
创业计划书的主要内容有哪些
2014/01/29 职场文书
三年级语文教学反思
2014/02/01 职场文书
2014年学校领导班子对照检查材料
2014/09/19 职场文书
实例讲解Python中sys.argv[]的用法
2021/06/03 Python