Можно ли добавить обработчик изменения размера к существующему виджету?

Инициализация gridster была абстрагирована от меня. К сожалению, мой контент содержит график Canvas (с использованием Flot, если это имеет значение), поэтому он становится очень уродливым, когда размер виджета Gridster изменяется.

Я могу получить объект Gridster (через селектор JQuery), но я не могу добавить прослушиватель изменения размера, поскольку мой виджет Gridster уже инициализирован.

Пользовательский интерфейс JQuery .resize(), похоже, игнорирует меня, поэтому я думаю, что событие не распространяется? Или, может быть, он использует другой тип события?

Если не считать повторной инициализации всего объекта Gridster Resizeable, есть ли способ связать обработчик изменения размера?


person InfernalRapture    schedule 22.10.2014    source источник
comment
В Gridster есть демонстрация добавления обратного вызова изменения размера: gridster.net/demos/using-resize- callbacks.html Почему вы не можете использовать это?   -  person Mark    schedule 22.10.2014
comment
@Mark Потому что эта демонстрация устанавливает обратные вызовы при инициализации gridster. Я хочу сделать это постфактум, так как к моменту загрузки моего кода это уже произошло.   -  person InfernalRapture    schedule 22.10.2014


Ответы (1)


Если вам нужно определить обратный вызов после инициализации, вы можете сделать это в свойстве options:

var myGrid = $(".gridster ul").gridster().data('gridster');
myGrid.options.resize.resize = function(){
   // do something awesome here
}
person Mark    schedule 22.10.2014
comment
Я искал это, спасибо! Быстрый FYI, однако, это вызывает синтаксическую ошибку. Функция должна быть закрыта с помощью }, а не }) - person mattm; 27.10.2014