在JQuery对话框中存储对象

时间:2011-10-19 11:33:30

标签: jquery jquery-ui events jquery-ui-dialog

是否可以在JQuery对话框中定义变量并在其事件中使用它。例如。在这个例子中:

element.find(".dialog").dialog(
{
    title: settings.title,
    close: function () {
        $(this).remove();
    },
    open: function () {
        var map = new Map();
    },
    height: $(window).height() / 1.5,
    width: $(window).width() / 1.5,
    resize: function () { map.updateSize(); }
}).dialogExtend({
    "maximize": true,
    "events": {
        "maximize": function () { map.updateSize(); },
        "restore": function () { map.updateSize(); }
    }
});

我想在resize事件中使用map变量,但是我收到一条错误,指出map没有定义。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

在相应位置尝试以下代码段:

将open替换为:

"map" : new Map()

"maximize": function (evt, dlg) { dlg.map.updateSize(); },
"restore": function (evt, dlg) { dlg.map.updateSize(); }

由xsl编辑:这对我有用:

this.map = new Map();

"maximize": function () { this.map.updateSize(); },
"restore": function () { this.map.updateSize(); }