如何在jQuery对话框中关闭嵌入的YouTube视频

时间:2013-01-03 23:59:04

标签: jquery-ui youtube jquery-ui-dialog

我将这个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中删除对话框?

1 个答案:

答案 0 :(得分:0)

我认为这种破坏实际上是在隐藏它,为什么它还在玩。试试这个:

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

虽然这可能会解决问题,但这也会删除.dlgVid

的每个实例

此外,使用.live()从jQuery库中删除。您应该使用.on()