example/public/ueditor/third-party/highcharts/highcharts.src.js
function () {
		var series = this,
			chart = series.chart,
			pointer = chart.pointer,
			cursor = series.options.cursor,
			css = cursor && { cursor: cursor },
			onMouseOver = function (e) {
				var target = e.target,
					point;

				if (chart.hoverSeries !== series) {
					series.onMouseOver();
				}
				while (target && !point) {
					point = target.point;
					target = target.parentNode;
				}
				if (point !== UNDEFINED && point !== chart.hoverPoint) { // undefined on graph in scatterchart
					point.onMouseOver(e);
				}
			};

		// Add reference to the point
		each(series.points, function (point) {
			if (point.graphic) {
				point.graphic.element.point = point;
			}
			if (point.dataLabel) {
				point.dataLabel.element.point = point;
			}
		});

		// Add the event listeners, we need to do this only once
		if (!series._hasTracking) {
			each(series.trackerGroups, function (key) {
				if (series[key]) { // we don't always have dataLabelsGroup
					series[key]
						.addClass(PREFIX + 'tracker')
						.on('mouseover', onMouseOver)
						.on('mouseout', function (e) { pointer.onTrackerMouseOut(e); })
						.css(css);
					if (hasTouch) {
						series[key].on('touchstart', onMouseOver);
					}
				}
			});
			series._hasTracking = true;
		}
	}
function () {
		var series = this,
			chart = series.chart,
			pointer = chart.pointer,
			cursor = series.options.cursor,
			css = cursor && { cursor: cursor },
			onMouseOver = function (e) {
				var target = e.target,
					point;

				if (chart.hoverSeries !== series) {
					series.onMouseOver();
				}
				while (target && !point) {
					point = target.point;
					target = target.parentNode;
				}
				if (point !== UNDEFINED && point !== chart.hoverPoint) { // undefined on graph in scatterchart
					point.onMouseOver(e);
				}
			};

		// Add reference to the point
		each(series.points, function (point) {
			if (point.graphic) {
				point.graphic.element.point = point;
			}
			if (point.dataLabel) {
				point.dataLabel.element.point = point;
			}
		});

		// Add the event listeners, we need to do this only once
		if (!series._hasTracking) {
			each(series.trackerGroups, function (key) {
				if (series[key]) { // we don't always have dataLabelsGroup
					series[key]
						.addClass(PREFIX + 'tracker')
						.on('mouseover', onMouseOver)
						.on('mouseout', function (e) { pointer.onTrackerMouseOut(e); })
						.css(css);
					if (hasTouch) {
						series[key].on('touchstart', onMouseOver);
					}
				}
			});
			series._hasTracking = true;
		}
	}
function ( ) { var series = this , chart = series . chart , pointer = chart . pointer , cursor = series . options . cursor , css = cursor && { cursor : cursor } , onMouseOver = function ( e ) { var target = e . target , point ; if ( chart . hoverSeries !== series ) { series . onMouseOver ( ) ; } while ( target && ! point ) { point = target . point ; target = target . parentNode ; } if ( point !== UNDEFINED && point !== chart . hoverPoint ) { // undefined on graph in scatterchart point . onMouseOver ( e ) ; } } ; // Add reference to the point each ( series . points , function ( point ) { if ( point . graphic ) { point . graphic . element . point = point ; } if ( point . dataLabel ) { point . dataLabel . element . point = point ; } } ) ; // Add the event listeners, we need to do this only once if ( ! series . _hasTracking ) { each ( series . trackerGroups , function ( key ) { if ( series [ key ] ) { // we don't always have dataLabelsGroup series [ key ] . addClass ( PREFIX + 'tracker' ) . on ( 'mouseover' , onMouseOver ) . on ( 'mouseout' , function ( e ) { pointer . onTrackerMouseOut ( e ) ; } ) . css ( css ) ; if ( hasTouch ) { series [ key ] . on ( 'touchstart' , onMouseOver ) ; } } } ) ; series . _hasTracking = true ; } }
Add tracking event listener to the series group, so the point graphics
themselves act as trackers
Add tracking event listener to the series group so the point graphics themselves act as trackers