2011-10-11 67 views
0

假設我們有一個jQuery分頁器插件。所以我可以這樣做:創建一個有狀態的jQuery插件是否是最佳做法?如果是這樣,我該怎麼做?

$("pager-div").pager({ page: 1, rowsPerPage: 30, count: 1780 }); 

好的。現在我想將尋呼機移到下一頁。我在這裏有兩個選項:

1)我的插件$.pager不返回jQuery。它返回,有一個叫nextPage,所以我可以做這樣的事情方法的對象:

var pager = $("pager-div").pager({ page: 1, rowsPerPage: 30, count: 1780 }); 
pager.nextPage(); 

2)我的插件將返回jQuery的。它更好,因此它保持了鏈接性。所以,我可以做這樣的事情:

$("pager-div").pager({ page: 1, rowsPerPage: 30, count: 1780 }); 
$("pager-div").nextPage(); 

兩個問題在這裏:

  1. 在我看來,這方法2時更好,因爲它保持chainabilty和我would'nt有必要繼續參考尋呼機。我可以使用$函數在任何地方訪問它。問題是:我應該使用方法2嗎?
  2. 如果(1)的答案是真的,我該如何實現它?也就是說,如何在jQuery中維護狀態?
+0

你就不會保持jQuery的本身狀態本身,你可以使用瀏覽器技術來存儲信息:餅乾,本地存儲,等 –

+0

您可以將您的狀態在瓦爾jQuery對象的data()對象。如果這就是你的意思? – Andy

回答

3

我爲選項2投票。您可以將您控制的變量存儲在jQuery的數據字段中。

例如:

$(selector).data("option", {page: 1}); 
alert($.data("option").page); 
相關問題