jQuery事件名称空间中ALL事件的一个监听器?

我知道我有能力使用jQuery,$ .fn.on,off和触发器函数来命名事件。 是否可以设置一个能够侦听某个命名空间中的所有事件的处理程序?

如:

$(window).on(".event_namespace", function(e){ //handler }); $(window).trigger("testEvent.event_namespace"); $(window).trigger("testEventTwo.event_namespace"); 

预期的行为是侦听器将捕获使用指定命名空间触发的任何事件…

最终目标只是能够收听一组实际上将被我无法访问的代码触发的事件。 我希望能够说,“只需将您的事件添加到此命名空间”,然后就可以捕获那些而无需了解事件名称本身; 只有命名空间。

可能?

编辑,更新

尝试

  var ns = ".event_namespace", log = []; // place below block at bottom of script block , // after `n` events attached to `n` window, document, elements // listen for events having `ns` namespace , // attached to `window, document, "*"` , above $(window, document, "*").on("event", function(e, ns, type) { // do stuff when event having `ns` occurs log.push([ns, type]); $("#log").html("type, namespace: " + log.slice(-1) + "
total " + ns + " events: " + log.length) }); // if dynamic elements , events later attached , // re-run this piece to add `event` event to those elements $.each([window, document, $("*")], function(k, v) { if($._data(v, "events") !== undefined) { $.each($._data(v, "events"), function(key, val) { if (val[0].namespace === ns.slice(- (ns.length -1))) { $(v).on(key + ns, function(e) { $(e.target).trigger("event", [e.namespace, e.type]) }) } }) } });

jsfiddle http://jsfiddle.net/guest271314/s87j4o6r/4/