我正在为导航栏中的每个链接添加点击事件,以播放一个小的音频剪辑。
HTML 代码:
<audio tabindex="0" id="beep-one" controls preload="auto" >
<source src="audio/Output 1-2.mp3">
<source src="audio/Output 1-2.ogg">
</audio>
JS 代码:
$('#links a').click(function(e) {
e.preventDefault();
var beepOne = $("#beep-one")[0];
beepOne.play();
});
到目前为止,它运行得很好。
问题在于当声音剪辑已经在播放时,我点击任何链接时都没有反应。
我尝试在链接的点击事件上停止已经播放的声音,但是在HTML5的Audio API中没有直接的事件可以做到这一点。
我尝试了以下代码但它不起作用。
$.each($('audio'), function () {
$(this).stop();
});
有什么建议吗?
preload
属性强制设为none
并剥离<source>
标签的src
属性,<audio>
元素仍会持续加载。 - Alessandro Fazziaudio.load()
。 - morganney