我有一个数组,
[0][video object]
[0][state]
[0][parameters]
[1][video object]
[1][state]
[1][parameters]
.
.
.
我想知道阵列中所有视频的播放位置:
for(i=0;i<videos.length;i++){
$(videos[i]['video']).on('canplaythrough', function(){
//do stuff - check all
update parent > ['state'] to true;
}
}
问题出在我松开索引之后。我怎样才能在on()函数中传递它? 我想得到数组项的父级。
答案 0 :(得分:2)
你正在丢失i
的值,因为它是一个闭包变量,在给定的情况下,因为你在迭代数组我认为最好在这里使用$ .each()
$.each(videos, function(idx, video){
$(video.video).on('canplaythrough', function(){
//do stuff - check all
video.state = true
}
})
答案 1 :(得分:1)
要使用var i
功能中的on
,您可以执行以下操作
for(i=0;i<videos.length;i++){
$(videos[i]['video']).on('canplaythrough', function(i){
console.log(i); // i is accessible here now
//do stuff - check all
videos[i]['state'] = true;
}
}