code: function addEventListener(target, type, listener) {
      var onType, prevListener;
  
      // Modern browsers
      if (target.addEventListener) {
        return target.addEventListener(type, listener, false);
      }
  
      // Older browsers
      onType = 'on' + type;
      if (target.attachEvent) {
        target.attachEvent(onType, listener);
      } else if (target[onType]) {
        prevListener = target[onType];
        target[onType] = function() {
          listener();
          prevListener();
        };
      } else {
        target[onType] = listener;
      }
    }
docs: A cross-browser addEventListener function that adds a listener for the
  supplied event type to the specified target.
  
  @param {object}   target
  @param {string}   type
  @param {function} listener