2011-04-06 24 views
5

? Empezando a usar SlickGrid y no parece iniciarse como un widget/plugin jquery normal donde se puede acceder a la instancia adjunta al elemento simplemente haciendo $ (elemento) .slickgrid().¿Hay alguna manera de obtener una instancia de SlickGrid de un elemento

¿Hay alguna forma de controlar la instancia existente, sin tener que retenerla cuando la creas? Al mirar el código, no parecía que fuera así, pero no estaba seguro de si alguien más había topado con esto.

No estoy seguro por qué tomaron dependencias en jquery pero decidieron tener una inicialización personalizada.

Podría ser tan simple como simplemente envolverlo en un widget jqueryui.

Respuesta

9

Siempre puede utilizar la función de datos de jQuery para guardar una referencia a la instancia de la grilla slick.

Por ejemplo:

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

Y se puede acceder a él usando:

$(element).data('slickgrid'); 
+0

Creo que esta es una manera simple de manejarlo y creo que eso es esencialmente lo que obtendría si envuelvo SlickGrid en un widget ya que es donde jquery almacena la instancia de todos modos. –

+0

Aunque probablemente todavía escriba el contenedor, esta es esencialmente la respuesta. –

-2

encuentro este tipo de preguntas un poco divertido. Solo porque algo usa la biblioteca jQuery, no lo convierte automáticamente en un complemento jQuery o un widget jQueryUI. SlickGrid no es ninguno de los dos, por lo que no sigue sus convenciones de diseño o API.

Esa pequeña ofensa aparte, la respuesta de Mark es correcta. Si por algún motivo desea almacenar la variable de instancia con el elemento DOM, puede hacerlo fácilmente con $ (element) .data().

+2

De alguna manera estoy de acuerdo con usted si ellos también tienen una buena razón, pero por lo que puedo decir, su método de instanciación no ofrece gran valor sobre los beneficios y la consistencia que obtendría al tener el complemento. –

Cuestiones relacionadas