JedWatson / react-tappable

Tappable component for React

Home Page:http://jedwatson.github.io/react-tappable/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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