매 30 초 스크립트를 새로 고침하여 변경 사항을 확인합니다. 반환 된 데이터는 오디오 요소에 대한 src를 설정합니다.동적으로 생성 된 오디오 요소를 자바 스크립트에서 제거하는 방법은 무엇입니까?
데이터가 변경된 경우 src 속성을 일치하도록 변경하지만 onClick - 두 개의 오디오 파일이 함께 재생됩니다.
여기 무슨 일이 일어나고 이전 오디오 파일을 삭제할 수 있습니까?
(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();
이
"제거"란 무엇을 의미합니까? DOM에 추가되지 않으므로 제거해야하는 이유는 무엇입니까? – samsonthehero
문제는 클릭 이벤트를 바인딩하고 이전 클릭 이벤트를 제거하지 않는 것과 비슷합니다. – epascarello