2010-11-11 54 views
9

如何向我的插件用戶公開事件?創建插件,公開事件


我知道,我應該使用:

$('#myPluginDiv').trigger('eventName', ["foo", "bar"]); 

觸發事件,但我在尋找描述如何聲明和調用插件中的事件的最佳實踐。

回答

0

我想你可以檢查一些常用的插件,使自己的假設。我們沒有這方面的標準,只是代碼慣例。

Colorbox(來源:https://github.com/jackmoore/colorbox/blob/master/jquery.colorbox.js)爲事件名稱定義了前綴和一些常量。它還具有觸發和運行回調的功能。

jQuery用戶界面(來源:https://github.com/jquery/jquery-ui/blob/master/ui/jquery.ui.widget.js)也有觸發事件(用法:https://github.com/jquery/jquery-ui/blob/master/ui/jquery.ui.dialog.js)上的小部件類常見的功能,但可以看到的是,事件是硬編碼在源的中間,而不是常量的上頂部喜歡在Colorbox上。

我個人認爲,並且在我自己的插件中這樣做,如果你有很多事件要觸發,那麼創建常量要好得多,但如果你只會觸發2或3個事件,則不需要。

輔助函數是必須的,應該是模板的一部分。

我使用並看到的所有事件名稱都遵循標準駱駝案例例如, beforeClose

有的主張用前綴的事件像彩盒的cbox_open甚至click.myPlugin(見:http://api.jquery.com/on/#event-names

結論:儘量遵循編程的最佳實踐和慣例一般,看的更好的例子在那裏。

-1

的插件,創建對象litereal像

var plugin = { 
    show:function(){ 
// code for show() 
} 


}; 
+0

我在問暴露和發佈事件的最佳實踐。你的代碼甚至不遵循jQuery插件模式。 – jgauffin 2012-03-16 14:32:03