Add more information to mouseOver mouseOut events. (#3900)

This commit is contained in:
Andrea Bogazzi 2017-04-30 20:39:15 +02:00 committed by Asturur
parent a4ad919383
commit 4808eb3fba

View file

@ -1133,21 +1133,25 @@
* @private
*/
_fireOverOutEvents: function(target, e) {
var overOpt, outOpt, hoveredTarget = this._hoveredTarget;
if (hoveredTarget !== target) {
overOpt = { e: e, target: target, previousTarget: this._hoveredTarget };
outOpt = { e: e, target: this._hoveredTarget, nextTarget: target };
this._hoveredTarget = target;
}
if (target) {
if (this._hoveredTarget !== target) {
if (this._hoveredTarget) {
this.fire('mouse:out', { target: this._hoveredTarget, e: e });
this._hoveredTarget.fire('mouseout', { e: e });
if (hoveredTarget !== target) {
if (hoveredTarget) {
this.fire('mouse:out', outOpt);
hoveredTarget.fire('mouseout', outOpt);
}
this.fire('mouse:over', { target: target, e: e });
target.fire('mouseover', { e: e });
this._hoveredTarget = target;
this.fire('mouse:over', overOpt);
target.fire('mouseover', overOpt);
}
}
else if (this._hoveredTarget) {
this.fire('mouse:out', { target: this._hoveredTarget, e: e });
this._hoveredTarget.fire('mouseout', { e: e });
this._hoveredTarget = null;
else if (hoveredTarget) {
this.fire('mouse:out', outOpt);
hoveredTarget.fire('mouseout', outOpt);
}
},