簡體   English   中英

創建插件,公開事件

[英]Create a plugin, expose events

如何向插件用戶公開事件?


我知道我應該使用:

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

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

我認為你可以檢查一些最常用的插件並做出你自己的假設。 我們對此沒有標准,只是代碼約定。

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

jQuery UI(來源: https//github.com/jquery/jquery-ui/blob/master/ui/jquery.ui.widget.js )在widget類上也有一個用於觸發事件的通用函數(用法: https: //github.com/jquery/jquery-ui/blob/master/ui/jquery.ui.dialog.js ),但你可以看到事件是在源的中間硬編碼的,而不是頂部的常量喜歡在Colorbox上。

我個人認為,並且在我自己的插件中執行它,如果要觸發很多事件,創建常量要好得多,但如果你只觸發2或3個事件則沒有必要。

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

我使用和查看的事件名稱都遵循標准的CamelCase,例如beforeClose

有些人主張在Colorbox的cbox_open甚至click.myPlugin等事件中使用前綴(參見: httpclick.myPlugin

結論:嘗試一般地遵循編程的最佳實踐和約定,並觀察更好的示例。

在插件中創建對象文字就像

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


};

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM