我通过 API 调用获取了一些 json 对象。它具有以下格式:-
{data:[{id:"1",name:"some1",url:"someurl1"},{id:"2",name:"some2",url:"someurl2"}...]}
我通过 jsonp 结果得到它,它被解析如下: -
function(results){
for(var i=0;i<10;i++){
item=document.createElement("div");
item.innerHTML=results.data[i].name;
item.onclick=function(){
console.log(results.data[i]); //--->this is where i am stuck
}
}
}
如何将特定对象从循环传递到 onclick 事件。我的意思是创建的第一个 div 应该有一个带有第一个对象的数据的 onclick 事件,第二个 div 应该有来自第二个对象的数据。如果需要更多说明,请询问我
编辑:-如果我这样做:-
item.onclick=function(){
console.log(results.data[1])
}
我在所有项目的 onclick 事件中都得到了那个特定的对象,但这不是我想要的
编辑: - 这就是我最终解决它的方法。感谢 DCoder 指向的链接。
item.onclick =function(object){
return function(){
//do something with the object
}
}(obj);