ftlabs / fastclick

Polyfill to remove click delays on browsers with touch UIs
MIT License
18.66k stars 3.23k forks source link

allow event if targetElement does not exist in the DOM anymore #587

Open fsiliadin opened 5 years ago

fsiliadin commented 5 years ago

Hello, I've been working on a bug with an app that uses your library (by the way I have to say it's awesome) and I thought of the following case:

When we are on a popup which displays with a grayout (like a modal) and you click on the grayout to hide the popup (and the grayout of course) and then you click on what was overlayed by the popup, then you have a strange issue: you have to click twice in order to trigger the actual click event. I had a look and it seems like, at the first click after the popup closure, the variable this.targetElement is still refering to the grayout element that actually disappeared from the dom. That's what my second commit tries to fix. The first commit is just to update the mouseEvent instanciation: https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/initMouseEvent