深入理解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限制输入字数,并提示剩余字数实现代码
Dec 24 Javascript
jquery formValidator插件ajax验证 内容不做任何修改再离开提示错误的bug解决方法
Jan 04 Javascript
jquery实现TAB选项卡鼠标经过带延迟效果的方法
Jul 27 Javascript
jquery实现适用于门户站的导航下拉菜单效果代码
Aug 24 Javascript
微信小程序 Toast自定义实例详解
Jan 20 Javascript
浅谈JS如何实现真正的对象常量
Jun 25 Javascript
JavaScript 获取元素在父节点中的下标(推荐)
Jun 28 Javascript
基于JS实现移动端左滑删除功能
Jul 28 Javascript
Bootstrap与Angularjs的模态框实例代码
Aug 03 Javascript
微信小程序中setInterval的使用方法
Sep 29 Javascript
vue2.0获取鼠标位置的方法
Sep 13 Javascript
JavaScript定时器设置、使用与倒计时案例详解
Jul 08 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
Centos下升级php5.2到php5.4全记录(编译安装)
2015/04/03 PHP
php生成图片验证码的实例讲解
2015/08/03 PHP
thinkPHP模板算术运算相关函数用法分析
2016/07/12 PHP
使用PHP json_decode可能遇到的坑与解决方法
2017/08/03 PHP
Laravel 关联模型-关联新增和关联更新的方法
2019/10/10 PHP
javascript网页关闭时提醒效果脚本
2008/10/22 Javascript
一些主流JS框架中DOMReady事件的实现小结
2011/02/12 Javascript
javascript 基础篇4 window对象,DOM
2012/03/14 Javascript
JavaScript 异常处理 详解
2015/02/06 Javascript
jQuery实现美观的多级动画效果菜单代码
2015/09/06 Javascript
JS实现的另类手风琴效果网页内容切换代码
2015/09/08 Javascript
基于JavaScript实现div层跟随滚动条滑动
2016/01/12 Javascript
jQuery实现三级菜单的代码
2016/05/09 Javascript
Vue.js实战之组件之间的数据传递
2017/04/01 Javascript
node.js实现登录注册页面
2017/04/08 Javascript
关于bootstrap日期转化,bootstrap-editable的简单使用,bootstrap-fileinput的使用详解
2017/05/12 Javascript
关于javascript获取内联样式与嵌入式样式的实例
2017/06/01 Javascript
js实现删除li标签一行内容
2019/04/16 Javascript
微信小程序实现可拖动悬浮图标(包括按钮角标的实现)
2020/12/29 Javascript
python过滤字符串中不属于指定集合中字符的类实例
2015/06/30 Python
windows下python之mysqldb模块安装方法
2017/09/07 Python
详解Python with/as使用说明
2018/12/13 Python
基于python的Paxos算法实现
2019/07/03 Python
解决Django加载静态资源失败的问题
2019/07/28 Python
Python数据可视化实现正态分布(高斯分布)
2019/08/21 Python
nginx搭建基于python的web环境的实现步骤
2020/01/03 Python
3种适用于Python的疯狂秘密武器及原因解析
2020/04/29 Python
python 装饰器的实际作用有哪些
2020/09/07 Python
详解Python中openpyxl模块基本用法
2021/02/23 Python
css3实现书本翻页效果的示例代码
2021/03/08 HTML / CSS
HTML5 本地存储和内容按需加载的思路和方法
2011/04/07 HTML / CSS
HTML5高仿微信聊天、微信聊天表情|对话框|编辑器功能
2018/04/23 HTML / CSS
Timberland美国官网:全球领先的户外品牌
2016/08/15 全球购物
戴森香港官方网站:Dyson香港
2021/02/11 全球购物
使用nginx配置访问wgcloud的方法
2021/06/26 Servers
JS前端使用canvas实现扩展物体类和事件派发
2022/08/05 Javascript