Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用.on()和名称空间语法附加多个事件处理程序_Javascript_Jquery_Syntax - Fatal编程技术网

Javascript 使用.on()和名称空间语法附加多个事件处理程序

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"); } }); 您还可以使用名称空间处理

在jQuery中使用时,可以附加多个事件处理程序,如下所示:

$("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(),是否正确?有没有更好的方法来处理这些综合征?