function bindEvent(arr,state){ var display = (state == 1 ? 'block' : 'none'); if (arr.length > 1) { for (var i = 0; i < arr.length; i++) { $originalElement.eq(arr[i]).on('click', function () { //这里的arr[i]是undefined console.log(arr[i]); $objnum.css('display', display); }); } } else { $originalElement.eq(arr[0]).on('click',function(){ $objnum.css('display', display); }) } }
1 回答
收到一只叮咚
TA贡献1821条经验 获得超4个赞
function bindEvent(arr, state) {
var display = (state == 1 ? 'block' : 'none');
if (arr.length > 1) {
for (var i = 0; i < arr.length; i++) {
(function (i) {
$originalElement.eq(arr[i]).on('click', function() { //这里的arr[i]是undefined
console.log(arr[i]);
$objnum.css('display', display);
});
})(i);
}
} else {
$originalElement.eq(arr[0]).on('click', function() {
$objnum.css('display', display);
})
}
}
另外你也可以用ES6的let去解决这种问题
添加回答
举报
0/150
提交
取消