Tôi có một mảng các đối tượng chứa mỗi "actionButton" id, chọn và gọi lạiLàm thế nào để vượt qua một phần tử mảng cụ thể đối với một callback của sự kiện
var actionButtons = [
{
id:"0",
selector:"._55ln._qhr",
callback: undefined
},
{
id:"1",
selector:"._22aq._jhr",
callback: undefined
},
.
.
.
];
Những gì tôi đang cố gắng làm là gọi một hàm với một tham số cụ thể từ mảng (id) mỗi lần chọn một công cụ chọn.
for(var i=0;i<actionButtons.length;i++){
$(document).on('click', actionButtons[i].selector, function() {
makeAction(actionButtons[i].id);
if (actionButtons[i].callback)
actionButtons[i].callback(this);
});
}
Nhưng mã này không hoạt động; có vẻ như mỗi khi hàm gọi lại được gọi là giá trị của i
bằng kích thước mảng.
Tôi có thể giải quyết vấn đề này như thế nào. để làm cho giá trị của biến số i
trở nên khác nhau đối với mỗi lần gọi lại.
trùng lặp có thể xảy ra của [JavaScript đóng cửa trong vòng - ví dụ thực tế đơn giản] (https://stackoverflow.com/ câu hỏi/750486/javascript-đóng-bên trong-vòng-đơn giản-thực tế-ví dụ) –