博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JQuery在循环中绑定事件的问题详解
阅读量:7079 次
发布时间:2019-06-28

本文共 947 字,大约阅读时间需要 3 分钟。

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

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

1
2
3
<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事件,很容易想到的写法就是

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

这么写是错误的。。。

错误的原因以及类似的错误分析详见这篇文章

然后改成下面的就对了

 

1
2
3
4
5
6
7
8
9
10
$(
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);
 
}
});

 

举例:

    $(function(){

                for(var n=1;n<menulist.length;n++){
                    $(".rm-container #level"+menulist[n].id+" a").bind("click", {index: menulist[n].name}, clickHandler);
                }
                function clickHandler(event) {
                    var i= event.data.index;
                    alert(i);//输出a标签的名字
                    return false;//点击a之后,控制页面不跳转
                }
            });

转载地址:http://utpml.baihongyu.com/

你可能感兴趣的文章
lsattr, chattr
查看>>
redis key设置过期时间
查看>>
0514JS基础:操作document对象、事件、this
查看>>
Gtest:源码解析
查看>>
【杂题总汇】HDU2018多校赛第九场 Rikka with Nash Equilibrium
查看>>
获取FIle路径下所有文件的地址和名称
查看>>
11.HTML表单元素【中】
查看>>
浙大版《C语言程序设计(第3版)》题目集 练习3-4 统计字符 (15 分)
查看>>
oracle创建计划任务
查看>>
16进制转10进制
查看>>
windows 安装服务
查看>>
MySQL常用简单小命令
查看>>
ERROR: child process failed, exited with error number 100 mongodb报错
查看>>
epoll 使用小结
查看>>
c#调用存储过程实现登录界面
查看>>
测试类。。。重写篇
查看>>
二进制
查看>>
入侵式与非入侵式JavaScript
查看>>
ny47 过河问题
查看>>
神奇高效的Linux命令行
查看>>