Javascript 使用.on()和名称空间语法附加多个事件处理程序
在jQuery中使用时,可以附加多个事件处理程序,如下所示:Javascript 使用.on()和名称空间语法附加多个事件处理程序,javascript,jquery,syntax,Javascript,Jquery,Syntax,在jQuery中使用时,可以附加多个事件处理程序,如下所示: $("li").on({ click: function(){ $(this).toggleClass("active"); }, mouseenter: function(){ $(this).addClass("inside"); }, mouseleave: function(){ $(this).removeClass("inside"); } }); 您还可以使用名称空间处理
$("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?
如何结合这两种语法?希望使用轻松关闭一组多事件处理程序。
或者我完全不理解名称空间,这是错误的。对于上的
,您可以写:
$("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");
它们可以共享同一名称空间并立即关闭吗?它们的行为就像通常的绑定事件处理程序一样。我已将您的答案编辑为include off(),是否正确?有没有更好的方法来处理这些综合征?