a
JavaScript
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;
}
document.body.innerHTML = `<h1>${'open devtools console to see the result'}</h1>`;
console.log('every event supported by every object in the browser:')
console.log(getEvents());