amatiasq
4/25/2014 - 2:48 PM

listenDom.js

function listenAll(target) {
  var protos = [],
    proto = target;

  while (proto) {
    protos.push(proto);
    proto = Object.getPrototypeOf(proto)
  }

  protos
    .reduce(function(props, proto) {
      return props.concat(Object.keys(proto))
    }, [])
    .sort()
    .filter(function(a) {
      return a.toLowerCase().indexOf('on') === 0
    })
    .map(function(a) {
      return a.substr(2)
    })
    .forEach(function(a) {
      target.addEventListener(a, console.log.bind(console, a));
    });
}