如果我嵌入标签,onEnded 事件将不起作用

Posted

技术标签:

【中文标题】如果我嵌入标签,onEnded 事件将不起作用【英文标题】:onEnded event not working if I embed in tag 【发布时间】:2014-05-19 12:00:13 【问题描述】:

我有下面的html

 <audio controls onended="alert(1);this.currentTime = 0">
      <source src="src" type="audio/mpeg">
 </audio>

但是 onEnded 事件没有触发。我该如何解决这个问题,我的代码有什么问题?我不想使用 javascript addEventListener 添加它,因为我将动态嵌入许多元素。

【问题讨论】:

***.com/questions/6312714/… 【参考方案1】:

按照您的要求,只使用 html http://jsfiddle.net/jVTbM/

 <audio id="audio" controls onended="alert(1);this.currentTime = 0">
    <source src="http://198.199.67.105:3412/downloadaudio/5379e4c988ff5235126d2ce9.3gpp" type='audio/ogg' />  
</audio>

【讨论】:

我正在嵌入 type="audio/mpeg",并且源是 ".3gpp" 类型,这是导致问题的原因吗? 在该扩展名中使用 audio/3gpp 类型 它在 Chrome 中根本没有播放。 问题出在您的文件上。它似乎已损坏或出现错误。 嗯,如果我下载并播放它就可以正常播放!

以上是关于如果我嵌入标签,onEnded 事件将不起作用的主要内容,如果未能解决你的问题,请参考以下文章

在接收器应用程序中,为啥音频标签事件不起作用?

jQuery触摸事件iOS将不起作用

如果在其他类中实现,自定义点击识别器方法将不起作用

SpeechSynthesis API onend 回调不起作用

如果过早调用 presentModalViewController 将不起作用

如果没有剩余行,PrefetchRowsAt 将不起作用