【问题标题】:JQuery Dialog InitializationjQuery 对话框初始化
【发布时间】:2013-03-12 07:54:05
【问题描述】:

当我单击 JQuery 对话框上的关闭按钮(未关闭)时,我继续收到此错误:

未捕获的错误:无法在初始化之前调用对话框上的方法;试图调用方法'close'

在其他问题中尝试了一些有关 StackOverflow 的建议修复后,在 Chrome 工具中。

谁能指出我没有正确构建对话框以导致此错误?

现场小提琴here

$(document).ready(function fooDialog() {

    $('#fooChartDialog').dialog({
        autoOpen: false,
        height: 600,
        width: 1000,
        resizable: false,
        buttons: {
            "Drill Down Report": function () {
                window.open('example.com');
            },
            "Close": function () {
                $(this).dialog("close");
            }
        },
        open: function () {
            $('#fooChartDialog').load($('#fooChartDialog').data('url'), function () {
                fooChartLoad()
            });
        },
        title: 'Customer Satisfaction Chart',
        modal: true
    });

    $('#fooChartButton').click(function () {
        $('#fooChartDialog').dialog("open")
    });
});

【问题讨论】:

  • modal: true,"Close": function () { $('this').dialog("close"); }, 后面有多余的逗号
  • 谢谢,我删除了逗号,但是当单击对话框的关闭按钮时我仍然遇到问题,但没有关闭并引发错误。
  • @Alexander 你有没有找到解决这个问题的办法?

标签: jquery jquery-ui initialization modal-dialog jquery-ui-dialog


【解决方案1】:

尝试$(this).dialog("close"); 而不是$('this').dialog("close");

当前对象应该被 $(this) 引用而不是 $('this')

【讨论】:

  • @Alexander 我在小提琴中看不到任何错误。大卫的解决方案运行良好。
  • 同样,我更改了 $(this) 的引用,它在小提琴中有效,但不适用于我的本地,所以我相信我这边存在更深层次的问题。谢谢你们。
猜你喜欢
  • 2018-03-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多