1

我将这个 youtube 视频嵌入到一个 jQuery 对话框中。对话框是这样创建的:

$(function() {
    $.prepare_dialog2 = function() {
        $('body').append('<div class="dlgVid"></div>');
        $('.dlgVid').dialog({ autoOpen: false,  modal: true, position: ['center',100], resizable: false, width: 640 });
    }
    $.dlgVid = function(url,ttl) {
        $.ajax({
            type: 'POST', url: url,
            success: function(data) { $('.dlgVid').dialog('open').dialog('option','title',ttl).html(data);},
            error: function() { alert('Oops! An error occured. Please try again or contact us if the problem persists.');}
        });
    }

    $.prepare_dialog2();    
});

并使用该$.dlgVid函数调用。在对话框窗口中,有一个关闭链接,单击它会关闭对话框,如下所示:

$('.dlgCloser').live('click',function(){
    $('.dlgVid').dialog('close');
});

问题是当我关闭对话框时,视频继续播放。我需要它停下来。我试过了,但没有用(因为视频仍在播放,我可以听到音频):

$('.dlgCloser').live('click',function(){
    $('.dlgVid').dialog('destroy');
    $.prepare_dialog2();
});

有没有人如何停止播放或为什么销毁没有从 DOM 中删除对话框?

4

1 回答 1

0

我认为这种破坏实际上是在隐藏它,因此它为什么仍在播放。试试这个:

$('.dlgCloser').live('click',function(){
    $('.dlgVid').remove();
});

虽然这可能会解决问题,但这也将删除每个实例.dlgVid

此外,使用.live()jQuery 库已弃用。你应该使用.on().

于 2013-01-04T00:03:24.960 回答