2013-07-08 20 views
0

我有一個<audio id="audio1">對象,我希望它在音頻結束時執行某些操作。看起來很簡單,但是我的代碼沒有產生任何結果。這是我的javascript:如何讓我的eventlistener響應DOM對象「結束」?

 myAudio=document.getElementById("audio1"); 
     myAudio.addEventListener('ended', alert('Ha'), true); 

最後,我希望在音頻已經結束了它刷新,然後我想找到一種方法來預加載音頻軌道,然後把它刷新當音頻結束,因此沒有加載時間。

我在這個主題上看到了一些關於stackoverflow的問題,但他們都包含了很多額外的東西,並且在嘗試了他們的方法之後(我可以理解並且與其他所有東西都分開),它不起作用。我相信我找到了最簡單的方法來做到這一點,但它沒有返回結果。

*目前功能是alert('Ha'),但是,當它工作時我會將其更改爲location.reload(true)

回答

2

嘗試

myAudio.addEventListener('ended', function() { 
    alert('ha'); 
}, true); 

要添加事件偵聽程序,你需要傳遞一個函數。這包裝在一個lambda /函數表達式中。您現在的方式是將alert('ha')的返回值傳遞給addEventListener(即未定義)。

這與您使用html屬性時不同;例如,當您有onclick="..."時,您需要爲其提供要執行的實際代碼。

+0

完美!它很簡單明瞭。 – JVE999