Хранение объектов в диалогах JQuery - PullRequest
0 голосов
/ 19 октября 2011

Можно ли определить переменную в диалоговом окне 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(); }
    }
});

Я хочу использовать переменную карты в событии изменения размера, но я получаю сообщение об ошибке, которое говорит, что карта не определена. Как я могу решить эту проблему?

1 Ответ

2 голосов
/ 19 октября 2011

Попробуйте ниже фрагменты в соответствующих местах:

Заменить на:

"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(); }
...