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

表示这些[]参数是可选的。你可以有零或一个selectors 和data

示例调用省略了data参数。

于 2013-04-26T11:09:17.317 回答
0

方括号表示该参数是可选的。因此,您可以选择提供选择器(用于事件委托)或数据(用于在事件处理函数内部使用),但您不必这样做。

关于您的具体示例,没有任何值被传递给data(因为您不必这样做)。在 jQueryon函数的代码中,它根据值的类型确定值实际用于哪个参数。

于 2013-04-26T11:09:38.803 回答