9

プラグインユーザーにイベントを公開するにはどうすればよいですか?


私は使用する必要があることを知っています:

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

イベントをトリガーしますが、プラグインでイベントを宣言して呼び出す方法を説明するベストプラクティスを探しています。

4

2 に答える 2

0

最もよく使用されるプラグインのいくつかを調べて、独自の仮定を立てることができると思います。これに関する標準はなく、コード規約だけです。

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を参照) 。

結論:プログラミング全般のベストプラクティスと規則に従い、より良い例を探してください。

于 2012-06-11T03:39:32.637 に答える
-1

in plugin create object litereal like

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


};
于 2012-03-16T14:09:55.197 に答える