我正在尝试在带有数组的循环中使用.addEventListener(如果可能的话),以便在同一网页上使用多个音频播放器。音频播放器只是标准的HTML5音频,但带有自定义控件。
这只是一些测试代码来解释:
array[0].addEventListener('click',function() {
array[0].play();
});
array[1].addEventListener('click',function() {
array[1].play();
});
我怎样才能压缩而不是为数组的每个值写出来?我已经尝试将它放在一个(for)循环中但是它似乎完全忽略了它:
For (i = 0; i < array.length; i++) {
array[i].addEventListener('click',function() {
array[i].play();
});
}
如果我是个白痴和/或遗漏了一些明显的东西,请提前道歉。
答案 0 :(得分:0)
尝试使用此代码
for( var i=0; i<array.length; i++ )
{
(function(index) // keep i pointing to right index
{
array[index].addEventListener('click', function ()
{
array[index].play();
}, false);
})(i)
}
PS:我不是封闭的忍者,所以如果它不起作用。道歉