5

http://api.jquery.com/on/から:

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

これは少しばかげているように聞こえるかもしれませんが、ここで構文を説明できる人はいますか?

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

また、ここに .on() の例があります:

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

dataメソッド構文に書かれていることは、ここでどこに作用しますか?

4

3 に答える 3

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
于 2013-04-26T11:09:26.097 に答える
1

これらの[]パラメータがオプションであることを示します。selectorおよびを 0 個または 1 個持つことができますdata

呼び出しの例では、パラメーターが省略されていdataます。

于 2013-04-26T11:09:17.317 に答える
0

角括弧は、パラメーターがオプションであることを示します。そのため、必要に応じてセレクター (イベント委任用) またはデータ (イベント ハンドラー関数内で使用するため) を提供できますが、必須ではありません。

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

于 2013-04-26T11:09:38.803 に答える