onMouseOut doesn't fire
slorber opened this issue · comments
source:
onMouseOut: function (event) {
if (window._blockMouseEvents || !this._mouseDown) return;
this.processEvent(event);
this.props.onMouseOut && this.props.onMouseOut(event);
this.endMouseEvent();
},
If I have <Tappable otherThings... onMouseOut={callback}/>
, the callback will never be fired on mouse out, because !this._mouseDown
is false. I think this is unexpected no?
I'm also interested in the reason for this. Would be happy to work on a PR to fix if I understand the cases.
Can confirm this is an issue. I was able to work around it by adding the onMouseOut
event to a child component of Tappable
but that isn't a nice solution, and straight up won't work for a lot of use cases.
onMouseOut
should fire whether the mouse is currently down or not. Is there a technical reason for the !this._mouseDown
check?
Today's state of devices means that touch/mouse support is needed in unison, making this a pretty important issue imo.
PRs welcome, but please add an example with instructions for testing