我有一个缩略图网格,您可以在其中单击每个缩略图,并显示警报。但是,单击缩略图1后,将显示缩略图1的警报,然后显示缩略图2,然后显示缩略图3,依此类推。
我不确定发生了什么,并尝试关闭没有效果。
function addThumbnails(data) {
var $thumbnailList = $('.thumbnail-list');
for (let i = 0, len = data.length; i < len; i++) {
let elementString = createImageElementString(data[i][0]);
$thumbnailList.append(elementString).on('click', 'a', function() {
alert('Thumbnail ' + i); //Issue
});
}
}
最佳答案
我不知道我们可以将单击处理程序追加到虚拟jquery节点对象。
function addThumbnails(data) {
for (let i = 0, len = data.length; i < len; i++) {
let $elementString = $(createImageElementString(data[i][0]));
$elementString.on('click', function() {
alert(i);
});
$('.thumbnail-list').append($elementString);
}
}
关于javascript - jQuery单击处理程序在for循环中分配后多次触发,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43289576/