剛開始使用SlickGrid,它似乎並不像一個正常的jquery widget/plugin那樣啓動本身,你可以通過它訪問附加到元素的實例做$(元素).slickgrid()。有沒有辦法從一個元素獲得SlickGrid的實例
有沒有辦法讓現有的實例保留,而沒有明顯地堅持它,當你創建它?縱觀代碼,它看起來並不像它,但不知道是否有其他人遇到過這種情況。
不完全確定他們爲什麼依賴jquery,但決定有一個自定義的初始化。
可能就像將它包裝在jqueryui小部件中一樣簡單。
剛開始使用SlickGrid,它似乎並不像一個正常的jquery widget/plugin那樣啓動本身,你可以通過它訪問附加到元素的實例做$(元素).slickgrid()。有沒有辦法從一個元素獲得SlickGrid的實例
有沒有辦法讓現有的實例保留,而沒有明顯地堅持它,當你創建它?縱觀代碼,它看起來並不像它,但不知道是否有其他人遇到過這種情況。
不完全確定他們爲什麼依賴jquery,但決定有一個自定義的初始化。
可能就像將它包裝在jqueryui小部件中一樣簡單。
你總是可以使用jQuery的數據函數來保存對光滑網格實例的引用。
例如:
var grid = new Slick.Grid(container,data,columns,options);
$(element).data('slickgrid', grid);
,並且可以使用訪問:
$(element).data('slickgrid');
我發現這類問題有點滑稽。僅僅因爲某些東西使用了jQuery庫,它並不會自動將其作爲jQuery插件或jQueryUI小部件。 SlickGrid既不是,這就是爲什麼它不遵循其設計約定或API。
除了小調,馬克的回答是正確的。如果出於某種原因想要使用DOM元素存儲實例變量,可以使用$(element).data()輕鬆實現。
我有點同意他們,如果他們有一個不錯的理由,但從我可以告訴他們的實例化方法提供的優點和一致性,你會從插件包裝得到的價值。 – 2011-04-07 03:27:38
我認爲這是一個簡單的方法來處理它,我相信這基本上是我會得到如果我包裝SlickGrid在一個小部件,因爲這是jQuery的存儲實例無論如何。 – 2011-04-07 03:34:12
儘管我可能還會寫封裝,但這實際上是答案。 – 2011-04-07 03:38:43