Being new to framer I thought opacity = 0 would be the equivalent of visible = false and ignore events. Jordan Robert Dobson has talked me through the how and why. Sharing for other people new to framer.
Long story short sometimes you want invisble elements to react to events. Use ignoreEvents.
See a repro example: http://share.framerjs.com/ljam771hcis2/
Imagine you have a splashscreen, tap a button, and it reveals the main target underneath. In this case the blue button is on the splashscreen and when it fades away you see the red button. If you click in the middle of the red button you'll see that it's still the blue button that gets the click event.
Download the code and try uncommenting one of the three solutions.