我正在尝试监听自定义事件,但我希望有效地"忽略"它是命名空间或以某种方式监听所有命名空间而不单独定义它们的事实.
$('#test').on('custom', ...);
$('#test').trigger('custom.namespace1');
$('#test').trigger('custom.namespace2');
Run Code Online (Sandbox Code Playgroud)
我希望能够做到这一点的原因是因为我有多个ui插件可以在隐藏/显示事件时触发事件.这些事件主要在内部使用,但是命名空间,因此它们不会相互冲突.但是,我还想知道何时隐藏特定的ui元素,而不依赖于其执行其他清理逻辑的源.
在上面的示例中,由于触发器事件是命名空间,因此不会发生任何事情.我能听到所有名称空间的效果custom.*吗?
谢谢
编辑
即便是类似的东西也是可取的,但仍然无法让它发挥作用
$('#test').on('custom.global', log);
$('#test').trigger('custom.global.namespace1');
$('#test').trigger('custom.global.namespace2');
Run Code Online (Sandbox Code Playgroud)
我担心唯一的方法是将它们全部列为 on 方法的第一个参数......
$('#test').on('custom.ns1 custom.ns2 ...', function(evt){});
Run Code Online (Sandbox Code Playgroud)
这意味着插件更新时烦人的代码审查......
| 归档时间: |
|
| 查看次数: |
1432 次 |
| 最近记录: |