jQuery文档显示以下内容:
$( "div.test" ).on({
click: function() {
$( this ).toggleClass( "active" );
}, mouseenter: function() {
$( this ).addClass( "inside" );
}, mouseleave: function() {
$( this ).removeClass( "inside" );
}
});
我们可以将一个对象传递给.on()
函数,以便它根据对象确定它将做什么。
但如果我想要相当于
,该怎么办?$('div.test').on('click', 'a.button', function(){foo();}
IE我希望使用此处顶部列出的对象样式监控div.test
上click
,mousenter
和mouseleave
个事件的a.button
< / p>
答案 0 :(得分:1)
if (typeof types === "object") {
// ( types-Object, selector, data )
if (typeof selector !== "string") {
// ( types-Object, data )
data = data || selector;
selector = undefined;
}
for (type in types) {
this.on(type, selector, data, types[type], one);
}
return this;
}
如果传入一个对象,它将检查selector
是否是一个刺痛。如果是,那么它将不管它。接下来,它将迭代该对象,再次执行每个on
。
所以你的代码是:
$( "div.test" ).on({
click: function() {
$( this ).toggleClass( "active" );
}, mouseenter: function() {
$( this ).addClass( "inside" );
}, mouseleave: function() {
$( this ).removeClass( "inside" );
}
}, 'a.button');