Skip to main content
Alf_Salib
March 10, 2021

While-hovering + On-click interactions don't work well together

  • March 10, 2021
  • 24 replies
  • 28258 views

This isn’t necessarily a bug, but definitely unexpected behavior.

So I have a simple button component, which changes to a hover state component while hovering - cool. Works perfectly.

The problem arrises when I want to use that button in my prototypes. If I add an on-click interaction to navigate to a different frame, for example, the click interaction doesn’t work. As soon as my mouse hovers over the component, it technically changes to the hover state one, which doesn’t have the click component on it. The on-click interaction would need to be added to the hover state component, which I can’t do because that isn’t being used in the actual design (it’s only accessed via the change-to while-hovering interaction).

Expected behavior: either (A) all interactions that I add to my component should remain, even after it “changes” to a different component, or (B) visually change a component to a different one, but don’t actually change it, so I can still add other interactions to it.

Or maybe there is a third, better option. Basically, my goal is to replicate normal button behavior: have a hovered state, and a click interaction, in the same component.

Hope this makes sense!

24 replies

June 30, 2023

[quote=“Sean30, post:20, topic:1570”]
does Figma even read these forums? It feels like so many bugs are present and being reported and nothing ever gets done to fix them.

Tom_Parandyk
August 18, 2023

Solved and described the solution here. 🫣
The best workaround is to wrap the interactive component at the point of use in an extra frame and instead of attaching the on click interaction directly to the component, attaching it to the extra frame.

Steps to apply the fix:

  1. Create a master component with at least 3 states:
    a. Regular
    b. Hovered
    c. Selected
  2. Link the “Regular” state with “Hovered” using the “while hovering” interaction
  3. Add the instance of the component to your layout
  4. Wrap the instance in a frame
  5. Add “on click” interaction to the wrapping frame, not to the instance, that links the component with the target frame
  6. In the target frame use the “Selected” state for the instance

The selected state will remain selected on the target frame after navigating the prototype
🙂

Kilsdonk_T.F_Tycho
September 24, 2024

How is this still not fixed? 😦
The work arounds are very scuffed

Glafira
New Member
December 16, 2025

This interaction system feels very raw. It slows down progress and creates confusion by showing warning triangles without explaining the root cause or which action is invalid. As a result, it’s hard to understand what’s wrong or how to fix it…