Javascript 尝试为jQuery移动对话框创建透明背景时出现问题

Javascript 尝试为jQuery移动对话框创建透明背景时出现问题,javascript,jquery,jquery-mobile,Javascript,Jquery,Jquery Mobile,我在项目中使用jquerymobile1.2.0,在尝试使对话框背景透明时遇到了这样的问题。 我已经将脚本从答案修改为这个 $(function() { $('div[data-role="dialog"]').live('pagebeforeshow', function(e, ui) { if( !$('[data-role="old-page"]').length ) { $('[data-role="page"].ui-page-active')

我在项目中使用jquerymobile1.2.0,在尝试使对话框背景透明时遇到了这样的问题。 我已经将脚本从答案修改为这个

$(function() {


$('div[data-role="dialog"]').live('pagebeforeshow', function(e, ui) {
    if( !$('[data-role="old-page"]').length ) {

        $('[data-role="page"].ui-page-active')
            .eq(0).clone()
                .attr('data-role','old-page')
                .appendTo('body')
                .addClass('ui-dialog-background-hidden');
    }
    if ( !!$('[data-role="old-page"].ui-dialog-background-hidden').length ) { 
        $('[data-role="old-page"].ui-dialog-background-hidden')
            .removeClass('ui-dialog-background-hidden')
            .addClass("ui-dialog-background ");
    } 
});

$('div[data-role="dialog"]').live('pagehide', function(e, ui) {
    console.log('pageBeforeHide');
    console.log('old-page',$('[data-role="old-page"].ui-dialog-background'))
    if (!$('.ui-dialog.ui-page-active').length) {
        $('[data-role="old-page"].ui-dialog-background')
            .removeClass('ui-dialog-background')
            .addClass('ui-dialog-background-hidden')
            .remove();
    }
});
此脚本在打开对话框之前将页面的版本保存到DOM中

它工作得很好,接受这样一个事实,在我转到另一个页面,调用对话框,然后关闭它之后,jQuery Mobile抛出错误,无法调用第3379行undefined的方法“_trigger”

有什么想法吗


提前感谢您。

当您遇到该错误时,会出现任何页面吗?2Omar:不,在控制台出现错误后-浏览器中会出现空白页面。不确定它是否会解决此问题,但我认为jQuery的live方法已被弃用。您应该在'event','selector',函数{…}上使用$document。也许这也能解决这个错误。