#jquery #jquery-ui #events #jquery-ui-dialog
#jquery #jquery-пользовательский интерфейс #Мероприятия #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(); }
}
});
Я хочу использовать переменную map в событии изменения размера, но я получаю сообщение об ошибке, в котором говорится, что карта не определена. Как я могу решить эту проблему?
Ответ №1:
Попробуйте использовать приведенные ниже фрагменты в соответствующих местах:
Заменить 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(); }