我有一个jQuery的功能,在ASP.Net中执行一个简单的Ajax GET,并返回数据(Json数组),填充一个网页。在循环内添加jQuery点击事件“自动”点击所有事件
我试图将点击事件绑定到使用下面的lopp创建的每个div,但是当运行此操作时,所有的点击事件都会在页面加载时发生!
任何想法?
function grabList() {
$('#temp').empty();
$.ajax({
url: '/Home/GoModel',
method: 'GET',
success: function (data) {
for (var i = 0; i < data.length; i++) {
$('#temp').append('<div class="host col-sm-3"> id=' + data[i].name + '>' + data[i].name + '</div>');
if (data[i].hostConnected === true) {
$('#temp').append('<div class="host connected col-sm-3" id=' + data[i].name + '>' + data[i].name + '</div>');
continue;
}
$('#' + data[i].name).on('click', connect(data[i].name)); // Problem occurs
}
$('#container').html($('#temp').html());
}
});
}
你能详细说明究竟发生了什么吗? “所有点击事件同时发生在页面上”是什么意思?另外,'connect'函数的代码是什么? –
[Javascript臭名昭着的循环问题?]的可能的重复?(http://stackoverflow.com/questions/1451009/javascript-infamous-loop-issue) –