Сброс эвента в JS

JS генерирует окно с видео элементом, на окне есть кнопка: закрыть, запускающая эвент закрытия созданного окна.

$(document).on('click', '.video', function(event){ 
    event.preventDefault(); 
    const htmlCollection = Object.values(event)[3];
    var url_video = htmlCollection.querySelector('Source').src;
    $('#overlay').fadeIn(250, 
            function(){
            const video_pleer_box = document.getElementById("video_pleer_box");
            $('#popUp')
                .css('display', 'block') 
                .animate({opacity: 1, top: '55%'}, 490); 
                
                var pleer = document.createElement("video");
                pleer.src = url_video;
                pleer.style.height = "270px";
                pleer.controls = "play";
                
                video_pleer_box.appendChild(pleer);
    });
    return false;
});

$(document).on('click', '#close, #overlay', function(event){ 
    event.preventDefault();
    $('#popUp')
        .animate({opacity: 0, top: '35%'}, 490, 
            function(){ 
                $(this).css('display', 'none'); 
                $('#overlay').fadeOut(220); 
            
            });
    return false;
});    

norm_stack

Все бы ок, но при повторном запуске сценария, предыдущее видео из элемента не сбрасывается, т.е. открывается то же окно, но дополняется следующим выбранным видео, попытки в эвенте закрытия, переопределять значения ссылки, пытаться удалить removeChild дочерний элемент pleer из video_pleer_box - не увенчались успехом.

not_norm_stack


Ответы (1 шт):

Автор решения: Djony Cooper

Благодарю, Alexander Chernin

а если так - после строки document.getElementById("video_pleer_box"); вызвать video_pleer_box.textContent = ''. Но removeChild тоже должен работать, если var pleer объявить "повыше" – Alexander Chernin

Это помогло мне!

...
$('#overlay').fadeIn(250, 
            function(){
            const video_pleer_box = document.getElementById("video_pleer_box");
            video_pleer_box.textContent = ''; //<< помогло добавление этой строки
            $('#popUp')
                .css('display', 'block') 
...
→ Ссылка