Javascript jQuery确定音频是否播放完毕,然后触发函数

Javascript jQuery确定音频是否播放完毕,然后触发函数,javascript,jquery,audio,Javascript,Jquery,Audio,我已经从javascript文件生成了音频链接,并使用jQuery触发了音频播放。我想在音频结束时触发一个函数 这是我的HTML <div id="audio-holder" class="text-center"> </div> 另一个问题是,如果我单击一个单词,它将播放一个音频,同时如果我单击另一个音频将与以前的音频一起播放。当新音频启动时,如何停止以前的音频。您可以检查已结束的事件,然后执行您的操作 yourAudio.addEventListenerended

我已经从javascript文件生成了音频链接,并使用jQuery触发了音频播放。我想在音频结束时触发一个函数

这是我的HTML

<div id="audio-holder" class="text-center">

</div>
另一个问题是,如果我单击一个单词,它将播放一个音频,同时如果我单击另一个音频将与以前的音频一起播放。当新音频启动时,如何停止以前的音频。

您可以检查已结束的事件,然后执行您的操作

yourAudio.addEventListenerended,函数{ yourAudio.currentTime=0; console.logend; };
如何摆脱一次播放多个音频?最简单的方法是循环播放所有音频,检查它们的状态并停止它们。但所有这些都是动态/虚拟DOM。我试图访问它们,但无法访问如果您可以共享您的问题的代码沙盒链接,那么所有人都可能更容易理解确切的问题
$.each( page15, function( key, value ) {
    $("#audio-holder").append(
          "<span class='word' data-audio-path='"+value.audio+"'>"+value.word+"</span>"
    )});
$( ".word" ).each(function(index) {
     $(this).on("click", function(){
         var audioSrc = $(this).attr("data-audio-path");
         var audioElement = document.createElement('audio');
         audioElement.setAttribute('src', audioSrc);
         audioElement.play();

         // Here goes custom function
     });
});