在jQuery中使用.on()时,您可以附加多个事件处理程序,如下所示:
$("li").on({
click: function(){
$(this).toggleClass("active");
},
mouseenter: function(){
$(this).addClass("inside");
},
mouseleave: function(){
$(this).removeClass("inside");
}
});
您还可以使用名称空间处理事件,如下所示:
$( 'li' ).on( 'click.toggles', function() {
$(this).toggleClass("active");
});
$( 'li' ).off( 'click.toggles' );
//click.toggles is the name space?
你如何结合这两种语法?希望使用.off()轻松关闭一组多个事件处理程序。
或者我完全不理解命名空间,这是错误的。
答案 0 :(得分:2)
对于on
,您可以写:
$("li").on({
"click.namespace": function(){
$(this).toggleClass("active");
},
"mouseenter.namespace": function(){
$(this).addClass("inside");
},
"mouseleave.namespace": function(){
$(this).removeClass("inside");
}
});
对于off
,你可以写
$("li").off(".namespace");
$("li").off("click.namespace mouseenter.namespace mouseleave.namespace");