jQuery对话框错误?

时间:2015-12-22 15:01:52

标签: javascript jquery jquery-ui

我在onClick事件调用的函数中使用jQuery UI对话框:

function showInCampaignOverlayBox(content_url) {
    $("#cpd-overlaybox-content").html('<img src="../daten/imgs/loading_bar_5.gif" class="cpd-overlaybox-centered-loader">');
    $("#cpd-overlaybox-content").attr('src', content_url);
    $("#cpd-overlaybox-dlg-header-label").html("Contenunit bulk edit ");

    $("#cpd-overlaybox-dialog").dialog({
        confirmationType: null,
        width:'90%',
        modal: true,
        draggable: false,
        resizable: false,
        dialogClass: 'view-cpd-overlaybox-dialog',
        close: function() {
            $("#cpd-overlaybox-content").attr('src', '');
            $(this).dialog("destroy");
        }
    });

    $('.cpd-overlaybox-element-exit_js').live('click', function(){
        $('span.ui-icon.ui-icon-closethick').click();
    });
}

出于某种原因,有时会出现错误:

  

无法读取未定义的属性'appendTo'

并且它引用了JQuery UI小部件库中的这个行代码:

var c = (this.oldInstances.length ? this.oldInstances.splice(0, 1)[0] : b("<div></div>").appendTo ...

我发现this.oldInstances没有定义,怎么可能?

1 个答案:

答案 0 :(得分:0)

你能提供你正在使用的jQuery版本吗?

无论如何,您应该将live()替换为on(),如下所示:

$('.cpd-overlaybox-element-exit_js').on('click', function(){
   $('span.ui-icon.ui-icon-closethick').click();
)};

live()很久以前就被弃用了。 1