菜鸟问javascript基础问题
- JScript code
for(var len=0;len<200;len++){google.maps.event.addListener(markerList[len].marker, 'click', function(){ markerList[len].infoWindow.open(map,this); });}我希望得到的效果是点击0号marker那么弹出0号infoWindow,点击1号就弹出对应1号的infoWindow... 但问题是这样的代码最后的结果是0~199号marker被点击后就是返回第199号infoWindow,请问我该如何处理这个问题?
[解决办法]
- JScript code
function createpack(len){return function(){ markerList[len].infoWindow.open(map,this);}}//做闭包for(var len=0;len<200;len++){google.maps.event.addListener(markerList[len].marker, 'click',createpack(len) );}