在點擊功能中,我可以選擇播放音頻。eventListener多次發射並增加
點擊只會觸發一次(在我添加了.off()
後,我似乎必須爲每個點擊事件執行操作,因爲我認爲我從根本上無法瞭解javascript的工作原理),但添加到「結束「的監聽程序顯示它觸發按鈕被點擊的次數。我猜想.play()
也被解僱多次。
這些需要在點擊事件內部才能得到id,那麼如何在使用js時在這裏和其他地方停止發生這些事情?添加event.stopPropagation()
,event.bubbles = false
和.off()
似乎無處不在(在這種情況下,無論如何不會產生影響)。
$('.button').off().on('click', function(event){
event.stopPropagation();
event.bubbles = false;
var id = $(this).attr('id')
if ($(this).hasClass('hasAudio')) {
document.getElementById('audio_'+id).play();
document.getElementById('audio_'+id).addEventListener("ended", function(){
console.log("ended");
});
}
});
因爲您要添加的事件listene每次點擊按鈕時 –