如何在 for 循环中维护迭代变量的原始值,该循环设置事件调用,其中迭代值是函数的一部分
How do you maintain the original value of an iterated variable in a for loop that sets event calls where the iterated value is part of the function?
请帮我解决这个问题:
这组代码中有不确定的迭代次数:
var c = 1;
for(c=1; c<x; c++){
$('#'+l_id+'_'+c).on("keypress", function(f){
com_guide_add_li((c+1), $(this).parent().parent().attr('id'), f);
})
}
问题是,当调用事件时,(c+1) 是上次迭代 + 1 的值,而不是此代码运行时迭代期间某个位置的值。
如何确保 (c+1) 的原始值保留在函数调用中,即设置事件调用的迭代运行时的值?
谢谢
*对不起,标题很长
我认为这应该有效,早期绑定应该会处理它。
var c = 1;
for(c=1; c<x; c++){¡
var tmp_var = c;
$('#'+l_id+'_'+c).on("keypress", function(f){
com_gude_add_li((tmp_var+1), $(this).parent().parent().attr('id'), f);
})
}
让我知道这是否有帮助。
选项 2
由于您使用的是jquery,因此可以使用data
方法(更多内容可在此处阅读):
var c = 1;
for(c=1; c<x; c++){¡
$('#'+l_id+'_'+c).data("c", c);
$('#'+l_id+'_'+c).on("keypress", function(f){
com_gude_add_li(($(this).data("c") + 1), $(this).parent().parent().attr('id'), f);
})
}
相关文章:
- 是否“;对于的“;循环迭代遵循JavaScript中的数组顺序
- 从两个基于0的for循环迭代器中获取单个基于0的索引的公式
- JavaScript循环迭代太多
- 在不同数据选项之间循环迭代对象
- 比许多使用JavaScript的循环迭代更有效的解决方案
- While为List值在CSS选择器中循环迭代
- 如何在ajax完成后执行第二次循环迭代
- 通过循环迭代追加文本
- Javascript使用for-in循环迭代器来设置变量
- 循环/迭代要返回的对象数组和字符串数组 - Javascript
- Javascript:我的数组的大小随着每次for循环迭代而减小.为什么
- Knockout foreach 循环迭代相同的数据元素
- 所有属性都设置为上次循环迭代值 [为什么?
- 每次循环迭代强制转换为不同的类型
- 在“for”循环迭代之间添加延迟
- 如何在循环迭代的每三分之一上做一些事情
- Nodejs服务器-通过使循环迭代异步来提高性能
- 使用嵌套的“”循环迭代流星中的集合;forEach”;
- JavaScript循环迭代中的POST之间需要延迟
- 如何在点击函数javascript中显示当前循环迭代