在http://api.jquery.com/jQuery/#jQuery-html-attributes,有一条说明:
从jQuery 1.8开始,任何jQuery实例方法(jQuery.fn的方法)都可以用作传递给第二个参数的对象的属性
我猜测函数可以通过某种方式多次调用,但给出的示例显示了一次调用的on()方法,并且不显示多个事件。有人可以提供或指出一个更复杂的例子吗?
答案 0 :(得分:0)
根据我所看到的,这只是创建元素和附加事件的另一种形式。
例如,这意味着您可以执行以下操作,将所有属性作为第二个参数传递:
$("<p></p>", {
"class": "my-class",
"text": "This is a test",
click: function() {
$(this).css('color', 'blue');
},
mouseenter: function() {
$(this).css('color', 'red');
},
mouseout: function() {
$(this).css('color', 'green');
}
}).appendTo( "body" );
这只是另一种方法:
$("<p></p>")
.addClass("my-class")
.text("This is a test too")
.click(function() { $(this).css('color', 'blue'); })
.mouseenter(function() { $(this).css('color', 'red'); })
.mouseout(function() { $(this).css('color', 'green'); })
.appendTo( "body" );
该页面说:“虽然第二个参数很方便,但它的灵活性会导致意外后果(例如$(”“,{size:”4“})调用.size()方法而不是设置size属性)“。
很高兴知道做同样事情的不同形式,但我将继续使用第二个。 :)
JSFiddle上面的示例:http://jsfiddle.net/m4f415dt/