jQuery 事件名称空间可以包含破折号吗?
Can jQuery event namespaces contain dashes?
jQuery 事件命名空间可以包含破折号(连字符)吗?我有很长的命名空间,我想用破折号分隔它们,这可能吗?我没有在 http://api.jquery.com/unbind/ 上找到任何文档。您知道它的记录在哪里吗?
代码是这样的:
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);
}
}
更新:绑定和解除绑定在 Chrome 41.0.2272.101 m 中工作,带有破折号的命名空间,但我想知道它是否在任何浏览器中工作 jQuery?我们正在使用 jQuery 2.1.1.
I want to know if it works in any browser with jQuery
是的,它可以在所有主流浏览器中正常运行。所有 jQuery 解析名称空间的工作都是将选择器字符串拆分为 .
个字符。像这样:
namespaces = ( tmp[2] || "" ).split( "." ).sort();
这里没什么特别的,split 方法在任何地方都有效,如果你想在命名空间子字符串中使用 -
或 @
。
这是最好的文档:source code。
不确定 jQuery 是否对此有最终决定权,但根据 .on()
的 jQuery 文档,答案是 否 .
Namespaces should contain upper/lowercase letters and digits only.
jQuery 事件命名空间可以包含破折号(连字符)吗?我有很长的命名空间,我想用破折号分隔它们,这可能吗?我没有在 http://api.jquery.com/unbind/ 上找到任何文档。您知道它的记录在哪里吗?
代码是这样的:
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);
}
}
更新:绑定和解除绑定在 Chrome 41.0.2272.101 m 中工作,带有破折号的命名空间,但我想知道它是否在任何浏览器中工作 jQuery?我们正在使用 jQuery 2.1.1.
I want to know if it works in any browser with jQuery
是的,它可以在所有主流浏览器中正常运行。所有 jQuery 解析名称空间的工作都是将选择器字符串拆分为 .
个字符。像这样:
namespaces = ( tmp[2] || "" ).split( "." ).sort();
这里没什么特别的,split 方法在任何地方都有效,如果你想在命名空间子字符串中使用 -
或 @
。
这是最好的文档:source code。
不确定 jQuery 是否对此有最终决定权,但根据 .on()
的 jQuery 文档,答案是 否 .
Namespaces should contain upper/lowercase letters and digits only.