2013-04-26 25 views
5

の理解jQueryのAPIドキュメント構文<a href="http://api.jquery.com/on/" rel="nofollow">http://api.jquery.com/on/</a>から

.on(events [, selector ] [, data ], handler(eventObject)) 

私はこれは少し愚かに聞こえるかもしれませんが、知っている誰もが、ここでの構文を説明できますか?

[]はどういう意味ですか?私はあなたがいくつかのオプション(セレクタ/データ)を追加できるということを意味すると思いますが、いくつかのイベントを追加することもできますが、なぜeventsに角括弧はありませんか?

$(document).on("click", ".item", function() { 
alert("hi"); 
}); 

は、メソッドの構文で記述された dataがここに遊びに来るん:

はまた、ここでの例の.on()ですか?

+1

私はそれらがオプションであると信じています。イベントが必要です。 – KryptoniteDove

答えて

2

大カッコは、引数がオプションであることを示します。 .on()メソッドの場合、selectordataはオプションですが、eventshandlerが必要です。例えば

$(something).on("click", function() {}); 
//    ^events ^handler 

$(something).on("click", ".child", function() {}); 
//    ^events ^selector ^handler 

$(something).on(function() {}); // Won't work, missing events argument 
1

[]は、これらのパラメータがオプションであることを示します。 selectorとのいずれか1つを指定することができます。

この例では、dataパラメータは省略されています。

0

角括弧は、パラメータがオプションであることを示しています。したがって、セレクタ(イベントデリゲーションの場合)またはデータ(イベントハンドラ関数の内部で使用する場合)をオプションで用意できますが、これを行う必要はありません。

特定の例に関しては、dataに値が渡されることはありません(そうする必要がないため)。 jQueryのコードonでは、値の型に基づいて、実際に値がどのパラメータであるかを決定します。

関連する問題

 関連する問題