List all event listeners in a document
console.table((function listAllEventListeners() { | |
const allElements = Array.prototype.slice.call(document.querySelectorAll('*')); | |
allElements.push(document); // we also want document events | |
const types = []; | |
for (let ev in window) { | |
if (/^on/.test(ev)) types[types.length] = ev; | |
} | |
let elements = []; | |
for (let i = 0; i < allElements.length; i++) { | |
const currentElement = allElements[i]; | |
for (let j = 0; j < types.length; j++) { | |
if (typeof currentElement[types[j]] === 'function') { | |
elements.push({ | |
"node": currentElement, | |
"type": types[j], | |
"func": currentElement[types[j]].toString(), | |
}); | |
} | |
} | |
} | |
return elements.sort(function(a,b) { | |
return a.type.localeCompare(b.type); | |
}); | |
})()); |
This comment has been minimized.
This comment has been minimized.
I went ahead and made my own implementation. Mutationless, |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
This comment has been minimized.
https://github.com/alex2844/js-events