プラグインユーザーにイベントを公開するにはどうすればよいですか?
私は使用する必要があることを知っています:
$('#myPluginDiv').trigger('eventName', ["foo", "bar"]);
イベントをトリガーしますが、プラグインでイベントを宣言して呼び出す方法を説明するベストプラクティスを探しています。
プラグインユーザーにイベントを公開するにはどうすればよいですか?
私は使用する必要があることを知っています:
$('#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 )にも、イベントをトリガーするためのウィジェットクラスの共通関数があります(使用法:https: //github.com/jquery/jquery-ui/blob/master/ui/jquery.ui.dialog.js)、ただし、イベントはソースの上部ではなく、ソースの中央にハードコーディングされていることがわかりますColorboxのように。
個人的には、トリガーするイベントがたくさんある場合は定数を作成する方がはるかに優れていると思いますが、2つまたは3つのイベントのみを発生させる場合は必要ありません。
ヘルパー関数は必須であり、テンプレートの一部である必要があります。
私が使用し、周りで見ているイベント名はすべて、標準のキャメルケースに従いますbeforeClose
。
Colorboxcbox_open
やさらにはイベントにプレフィックスを使用することを提唱する人もいclick.myPlugin
ます(http://api.jquery.com/on/#event-namesを参照) 。
結論:プログラミング全般のベストプラクティスと規則に従い、より良い例を探してください。
in plugin create object litereal like
var plugin = {
show:function(){
// code for show()
}
};