![]() |
#2
ssh02212018-07-27 16:05
|
有一段代码 是这样的。
var moreId = 0;
moreId是动态生成的, 第一次是1 第二次是2 每次+1;
每次调用a_upload()会从外部传入一个参数作为moreId传入到参数内部进行赋值或运算;
问题来了:
在jQuery on绑定事件的时候 输出的moreId 总是0;
在下面//111111111注释下的console.log() 输出的是正常的 0 1 2 3;
但是在//222222222注释下的输出 就总是0; 就是绑定事件后 总是为0; 用自调函数封闭变量都不行;
请教各位 这个该怎么办, 怎样让//2222222222下的console.log() 输出正常。
再次谢谢各位!

function a_upload(selector, moreId) {
var lastEleCls = $('.a[moreId=' + moreId + ']');
var lastEleClsName = '.a[moreId=' + moreId + ']';
//11111111111111111111
console.log(moreId);
(function (selector, moreId) {
//绑定Change事件
$(lastEleCls).find(selector).on('change', function () {
//22222222222222222
console.log(moreId);
});
})(selector,moreId);
}
a_upload(selector , 1); //111注释下con输出为1 //222注释输出为0
a_upload(selector , 2); //111注释下con输出为2 //222注释输出为0