Edit, Updated
Try
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)
+ "<br> total <i>" + ns + "</i> 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/
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…