2011-06-23 50 views
0

我一直在尋找起動器(http://starter.pixelgraphics.us/),好了,開始做插件...jQuery插件getter方法

所以我想知道 - 我將如何增加在示例代碼中的方法,使我能夠打破價值鏈,但獲得的價值都是一樣的嗎?

例如。比如說你寫了一個插件,它可以把一些東西添加到表中,並且該插件在內部保留了該表中的行數......那麼,一個方法會是什麼樣子/你會如何調用它來檢索行數?

實際上,要知道如何使用starter來調用一般方法 - 比如說你有一個'foo'方法 - 對一個表和一個'bar'方法做一件事 - 檢索一些值 - 怎麼做你去做那件事?

可憐的例子,我知道,但它的過程中,我以後......

卡爾文

回答

0

如果你的代碼庫已經使用jQuery UI,你應該使用小部件的工廠。這在製作jQuery插件時非常有用。

一個很好的起點,我發現是:

http://ajpiano.com/widgetfactory/#slide1

的jQuery通過返回這個(用jQuery對象的元素)保持chainability。由於你描述的函數是一個getter,它不會返回jQuery對象,所以它將不能被用來繼續鏈。

E.G.測試使用css()和寬度()

$('h1').css('color').width() 

這將打破作爲css('顏色')返回的顏色。

退房創作jQuery插件的保持chainability部分:

http://docs.jquery.com/Plugins/Authoring#Maintaining_Chainability

+0

您好,感謝回答!我得到了返回這個維護鏈的原則,它只是找出如何在插件中實際調用一個單獨的方法 - 我可以編寫方法,只是不知道如何正確訪問它! 在這種情況下我沒有使用UI,但是感謝那個鏈接,真的很有幫助。 – Calvin

+0

哦,好吧,我幫你。有幾種方法可以做到這一點。 Starter模型看起來像使用$ .fn對象來聲明公共方法。我會建議遵循jQuery插件創作指南:http://docs.jquery.com/Plugins/Authoring。查看插件方法部分的完整示例。 –

+0

我使用/創建的插件的大部分應用了調用公共方法的方法:$('#element')。pluginName('methodToCall')。 –