Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.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 jQuery使用多个分隔符按字母顺序排列名称空间_Javascript_Jquery_Namespaces - Fatal编程技术网

Javascript jQuery使用多个分隔符按字母顺序排列名称空间

Javascript jQuery使用多个分隔符按字母顺序排列名称空间,javascript,jquery,namespaces,Javascript,Jquery,Namespaces,及 产生完全相同的输出: b、 c 为什么会这样,我该如何预防?我使用的是jQuery 1.7。事件名称空间没有嵌套。您正在创建两个名称空间,b和c,两个名称空间中都有a事件。顺序无关紧要,因此jQuery不会保留它。它规范化了事件,因此如果您为a.b.c和a.c.b定义处理程序,它会识别它们实际上绑定了同一事件,并可以将它们放在其内部事件绑定数据的同一条目中。我相信a.b.c正在创建两个不同的名称空间,b和c,如您所见,如果您尝试使用上述方法.trigger('a.c')和.trigger('

产生完全相同的输出:

b、 c


为什么会这样,我该如何预防?我使用的是jQuery 1.7。

事件名称空间没有嵌套。您正在创建两个名称空间,
b
c
,两个名称空间中都有
a
事件。顺序无关紧要,因此jQuery不会保留它。它规范化了事件,因此如果您为
a.b.c
a.c.b
定义处理程序,它会识别它们实际上绑定了同一事件,并可以将它们放在其内部事件绑定数据的同一条目中。

我相信
a.b.c
正在创建两个不同的名称空间,
b
c
,如您所见,如果您尝试使用上述方法
.trigger('a.c')
.trigger('a.b')
。如果您想要一个名为
b.c
的名称空间,可以使用
b-c
来代替吗?名称空间不嵌套。他们就像上课一样。阅读jQuery文档:
$(document).on('a.b.c', function(e) {
    console.log(e.namespace)
}).trigger('a.b.c')
$(document).on('a.c.b', function(e) {
    console.log(e.namespace)
}).trigger('a.c.b')