Есть ли способ получить экземпляр SlickGrid из элемента

Только начинаю использовать SlickGrid, и, похоже, он не инициирует себя, как обычный виджет/плагин jquery, когда вы может получить доступ к экземпляру, прикрепленному к элементу, просто выполнив $(element).slickgrid() .

Есть ли способ завладеть существующим экземпляром, не удерживая его явно при его создании? Глядя на код, это не казалось, но не был уверен, что кто-то еще сталкивался с этим.

Не совсем уверен, почему они взяли зависимости от jquery, но решили использовать пользовательскую инициализацию.

Может быть так же просто, как просто обернуть его в виджет jqueryui.


person Greg Roberts    schedule 06.04.2011    source источник


Ответы (2)


Вы всегда можете использовать функцию данных jQuery, чтобы сохранить ссылку на экземпляр гладкой сетки.

Например:

var grid = new Slick.Grid(container,data,columns,options);
$(element).data('slickgrid', grid);

И вы можете получить к нему доступ, используя:

$(element).data('slickgrid');
person Mark Brown    schedule 07.04.2011
comment
Я думаю, что это простой способ справиться с этим, и я считаю, что это, по сути, то, что я получил бы, если бы обернул SlickGrid в виджет, поскольку именно там jquery все равно хранит экземпляр. - person Greg Roberts; 07.04.2011
comment
Хотя я, вероятно, все же напишу обертку, это, по сути, ответ. - person Greg Roberts; 07.04.2011

Я нахожу такие вопросы довольно забавными. Просто потому, что что-то использует библиотеку jQuery, это не делает его автоматически плагином jQuery или виджетом jQueryUI. SlickGrid не является ни тем, ни другим, поэтому он не следует их соглашениям о дизайне или API.

Помимо этой мелкой тирады, ответ Марка правильный. Если по какой-то причине вы хотите сохранить переменную экземпляра с элементом DOM, вы можете легко сделать это с помощью $(element).data().

person Tin    schedule 07.04.2011
comment
Я в некоторой степени согласен с вами, если у них тоже была веская причина, но из того, что я могу сказать, их метод создания экземпляров не имеет большого значения по сравнению с преимуществами и согласованностью, которые вы получили бы от наличия оболочки плагина. - person Greg Roberts; 07.04.2011