Javascript 单击以绑定控件 count=1; 对于(var i=0;ifor(var i=1;ifor(var i=1;i
您遇到此问题,因为您创建的每个事件处理程序中的Javascript 单击以绑定控件 count=1; 对于(var i=0;ifor(var i=1;ifor(var i=1;i,javascript,jquery,javascript-events,Javascript,Jquery,Javascript Events,您遇到此问题,因为您创建的每个事件处理程序中的i都指向内存中的同一位置。请尝试使用以下方法: for (var i = 1; i<6; i++) { $("#ImageProductLeft" + i.toString()).bind('click', function() { alert(i); }); } count=1; 对于(var i=0;i您遇到此问题,因为您创建的每个事件处理程序中的i都指向内存中的同一位置。请尝试使用以下方法: for (v
i
都指向内存中的同一位置。请尝试使用以下方法:
for (var i = 1; i<6; i++)
{
$("#ImageProductLeft" + i.toString()).bind('click', function() {
alert(i);
});
}
count=1;
对于(var i=0;i您遇到此问题,因为您创建的每个事件处理程序中的i
都指向内存中的同一位置。请尝试使用以下方法:
for (var i = 1; i<6; i++)
{
$("#ImageProductLeft" + i.toString()).bind('click', function() {
alert(i);
});
}
count=1;
对于(变量i=0;icount=1;
对于(变量i=0;icount=1;
对于(var i=0;i您正在a循环(闭包)中创建一个函数。所有变量都将在它们之间共享,并且i
最终调用函数时,循环已经完成,i
将具有值5
JavaScript没有块作用域。要创建新作用域并捕获变量的值,请进行函数调用:
count=1;
for(var i=0;i<5;i++){
count++;
$("#ImageProductLeft"+count.toString()).bind('click', {i: i}, function(event){
alert(event.data.i);
});
}
for(var i=0;i您正在a循环(闭包)中创建一个函数。所有变量都将在它们之间共享,而且i
最终调用函数时,循环已经完成,i
将具有值5
JavaScript没有块作用域。要创建新作用域并捕获变量的值,请进行函数调用:
count=1;
for(var i=0;i<5;i++){
count++;
$("#ImageProductLeft"+count.toString()).bind('click', {i: i}, function(event){
alert(event.data.i);
});
}
for(var i=0;i这更优雅、更灵活:
for(var i=0;i<5;i++){
(function(x) {
$("#ImageProductLeft"+count.toString()).bind('click', function(){
alert(x);
});
}(i));
}
您可以拥有以ImageProductLeft
开头的任意多个元素,单击任何元素都会提醒它们各自的索引
.这更优雅、更灵活:
for(var i=0;i<5;i++){
(function(x) {
$("#ImageProductLeft"+count.toString()).bind('click', function(){
alert(x);
});
}(i));
}
您可以拥有以ImageProductLeft
开头的任意多个元素,单击任何元素都会提醒它们各自的索引
.VERY VERY TANKS.gooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo。Gooooooooood当你绑定点击处理程序时,当前的i将作为数据存储到函数中。当函数被调用时,for循环已经完成,i的值为5。在你的版本中,他会提醒这个5,在我的版本中,他会提醒存储的值。感谢Felix,你已经得到了我的+1,因为我的答案很好,很完整,就像usua一样l、 :)看到这些循环让我感觉有点不舒服。很高兴有人给出了正确的答案。+1.谢谢菲利克斯,你已经得到了我的+1,因为答案很好,很完整,和往常一样。:)看到这些循环让我感觉有点不舒服。很高兴有人给出了正确的答案。+1。