28 lines
1,010 B
JavaScript
28 lines
1,010 B
JavaScript
(function($) {
|
|
$.events = function(selector, root) {
|
|
var s = [];
|
|
$(selector || '*', root).addBack().each(function() {
|
|
// the following line is the only change
|
|
var e = $._data(this, 'events');
|
|
if(!e) return;
|
|
s.push(this.tagName);
|
|
if(this.id) s.push('#', this.id);
|
|
if(this.className) s.push('.', this.className.replace(/ +/g, '.'));
|
|
for(var p in e) {
|
|
var r = e[p],
|
|
h = r.length - r.delegateCount;
|
|
if(h)
|
|
s.push('\n', h, ' ', p, ' handler', h > 1 ? 's' : '');
|
|
if(r.delegateCount) {
|
|
for(var q = 0; q < r.length; q++)
|
|
if(r[q].selector) s.push('\n', p, ' for ', r[q].selector);
|
|
}
|
|
}
|
|
s.push('\n\n');
|
|
});
|
|
return s.join('');
|
|
}
|
|
$.fn.events = function(selector) {
|
|
return $.events(selector, this);
|
|
}
|
|
})(jQuery);
|