docs: function(e) {
  		var me = this;
  		var opts = me.options;
  		var type = e.type === 'mouseup' ? 'click' : e.type;
  		var hoveredItem;
  
  		if (type === 'mousemove') {
  			if (!opts.onHover && !opts.onLeave) {
  				return;
  			}
  		} else if (type === 'click') {
  			if (!opts.onClick) {
  				return;
  			}
  		} else {
  			return;
  		}
  
  		// Chart event already has relative position in it
  		hoveredItem = me._getLegendItemAt(e.x, e.y);
  
  		if (type === 'click') {
  			if (hoveredItem && opts.onClick) {
  				// use e.native for backwards compatibility
  				opts.onClick.call(me, e.native, hoveredItem);
  			}
  		} else {
  			if (opts.onLeave && hoveredItem !== me._hoveredItem) {
  				if (me._hoveredItem) {
  					opts.onLeave.call(me, e.native, me._hoveredItem);
  				}
  				me._hoveredItem = hoveredItem;
  			}
  
  			if (opts.onHover && hoveredItem) {
  				// use e.native for backwards compatibility
  				opts.onHover.call(me, e.native, hoveredItem);
  			}
  		}
  	}