我有以下script
它獲取給定的頁面上的所有video
元素,然後施加一個playing
事件對他們說:addEventListener'正在播放'只會觸發一次。
var video = document.getElementsByTagName("video");
for(var i = 0; i < video.length; i++){
(function(vid) {
vid.addEventListener('playing', function(){
var percentComplete = Math.round((vid.currentTime/vid.duration) * 100);
console.log(percentComplete);
});
})
(video[i]);
}
現在,當我運行該頁面並點擊視頻1比如我看到percentComplete
是登錄到console log
,但是當視頻1完成後,我點擊視頻2沒有任何信息寫入console
,看來這addEventListener
只適用於第一個被點擊的視頻,有人可以解釋爲什麼以及如何解決這個問題,因此它會觸發每次播放視頻?
您可能應該給我們一個現場演示(StackSnippet®或小提琴)來重現問題,因爲您的實際代碼應該可以工作; @gyre所做的一個工作也應該是*(現在他/她修正了她/他的錯字)*,你也可以使用'this',但我想沒有其他解決方案可以解決潛在的問題,這是不可見的你的代碼塊。 – Kaiido