Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

@galpx
Created August 5, 2019 14:09
Show Gist options
  • Star 11 You must be signed in to star a gist
  • Fork 4 You must be signed in to fork a gist
  • Save galpx/9889e557ac127499cd8dc3942a58500b to your computer and use it in GitHub Desktop.
Save galpx/9889e557ac127499cd8dc3942a58500b to your computer and use it in GitHub Desktop.
function _isEvent(prop) {
if (0 !== prop.indexOf('on')) {
return false;
}
return true;
}
function _getEvents(obj) {
var result = [];
for (var prop in obj) {
if (_isEvent(prop)) {
prop = prop.substr(2); // remove "on" at the beginning
result.push(prop);
}
}
return result;
}
function getEvents() {
const result = {};
result['window'] = _getEvents(window, hasOwnProperty);
const arr = Object.getOwnPropertyNames(window);
for (let i = 0; i < arr.length; i++) {
const element = arr[i];
let resultArray = [];
try {
const obj = window[element];
if (!obj || !obj['prototype']) {
continue;
}
proto = obj['prototype'];
resultArray = _getEvents(proto);
} catch (err) {
// console.error(`failed to get events of %o`, element);
}
result[element] = resultArray;
}
return result;
}
console.log(getEvents());
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment