gpt4 book ai didi

javascript - 如何删除 JavaScript 中动态创建的音频元素?

转载 作者:行者123 更新时间:2023-12-01 04:06:46 24 4
gpt4 key购买 nike

每 30 秒我刷新一个脚本来检查更改。返回的数据设置音频元素的 src。

如果数据已更改,我会更改 src 属性以进行匹配,但在单击时 - 我听到两个音频文件一起播放。

这里发生了什么以及如何删除以前的音频文件?

(function fetchCal() {
$.getJSON('events', function(data) {

//I need to clear any previously created elements here

var nowAudio = document.createElement('audio');
nowAudio.setAttribute('src',"audio/"+data.uid+"."+data.nowTitleURL+".mp3" );

$('.now').click(function() {
nowAudio.play();
});

})
setTimeout(fetchCal, 30000); //refresh calendar every 30 secs
})();

注意:$( "audio").remove(); 不起作用

最佳答案

您将多次点击绑定(bind)到同一个元素,因此它将始终具有先前的点击事件。您需要解除绑定(bind)。

$('.now').off("click.audio").on("click.audio", function() {
nowAudio.play();
});

关于javascript - 如何删除 JavaScript 中动态创建的音频元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41750516/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com