我编写了 JS 函数,它必须根据数组中的值绑定它生成的按钮。但它给了我最后的价值。我读到我必须使用闭包,我做到了,但我仍然无法正确绑定它们!我仍然是一个初学者,我读过关于闭包的文章,我明白了,但仍然不知道我错过了什么
function addNewServices(newServicesArray){
var j=0; var x;
for (i in newServicesArray){
var html='';
html='<div style="width: 33%; float: leftt"><a href="#" data-role="button" data-icon="home" id="btn-'+newServicesArray[j].servicename+'" value="'+newServicesArray[j].servicename+'" class="ui-btn-up-c">'+newServicesArray[j].servicename+'</a></div>';
$("#main-menu").append(html);
$('#btn-'+newServicesArray[j].servicename).bind('click', function (){bindThis(j)});
j++;
}
var bindThis = function( j ) {
return function() {
alert(j); // gives 2 always
alert( newServicesArray[j].servicename );
};
};
}