Javascript jQuery事件命名空间是否可以包含破折号?

Javascript jQuery事件命名空间是否可以包含破折号?,javascript,jquery,events,namespaces,Javascript,Jquery,Events,Namespaces,jQuery事件名称空间是否可以包含破折号(连字符)?我有很长的名称空间,我想用破折号分隔它们,可以吗?我没有找到任何有关的文档。你知道记录在哪里吗 代码如下所示: var close_menu_event_element = $('{selector}'); var event = 'click.our-top-menu'; // Can be also 'click.our-compose-menu' if (close_menu_event_element.length > 0) {

jQuery事件名称空间是否可以包含破折号(连字符)?我有很长的名称空间,我想用破折号分隔它们,可以吗?我没有找到任何有关的文档。你知道记录在哪里吗

代码如下所示:

var close_menu_event_element = $('{selector}');
var event = 'click.our-top-menu'; // Can be also 'click.our-compose-menu'
if (close_menu_event_element.length > 0) {
    close_menu_event_element.unbind(event);
    if (typeof(func) === "function") {
        close_menu_event_element.bind(event, func);
    }
}
namespaces = ( tmp[2] || "" ).split( "." ).sort();
更新:绑定和解除绑定在Chrome 41.0.2272.101 m和带破折号的名称空间中工作,但我想知道它是否在任何带有jQuery的浏览器中工作?我们使用的是jQuery2.1.1

我想知道它是否可以在任何使用jQuery的浏览器中工作

是的,它可以在所有主流浏览器中正常工作。jQuery解析名称空间所做的所有工作都是按
字符拆分选择器字符串。大概是这样的:

var close_menu_event_element = $('{selector}');
var event = 'click.our-top-menu'; // Can be also 'click.our-compose-menu'
if (close_menu_event_element.length > 0) {
    close_menu_event_element.unbind(event);
    if (typeof(func) === "function") {
        close_menu_event_element.bind(event, func);
    }
}
namespaces = ( tmp[2] || "" ).split( "." ).sort();
这里没什么特别的,split方法在任何地方都可以使用,如果您想在命名空间子字符串中使用,可以使用
-
@


这里是最好的文档:。

不确定jQuery是否得到了最后一个字,但根据jQuery的文档,答案是

名称空间应仅包含大写/小写字母和数字


请分享一些相关的代码并解释一下。我同意@miliesmith的观点-吸一吸,看看是最好的学习方式。也就是说,是的,他们可以。我想在尝试之前在文档中看到它,浏览器和版本之间可能存在差异,我想知道它是否能在所有浏览器和版本中工作@MillieSmith@Uri首先要做的是看看它是否有效。是时候回来询问它是否兼容跨浏览器。@JLRishe感谢您的评论,请查看我的更新问题。谢谢!顺便问一下,你知道为什么他们在中使用“myEvents”作为名称空间吗?jQuery将来是否可能不支持带破折号的名称空间?在将源代码称为“最佳”文档时感到畏缩。只有当它是“唯一”文档时。看看我的答案。