Callback trigger before html.A link launch

So my goal is to modify the href attribute of html.A component when the user click on the button that link to the html.A component.
I tried this solution:

html.A(dbc.Button("Save", id='save_button'), id='link', download='', href=''))

But when I click the button the link is launch before the callback of the button trigger.

Is there any solution for this problem?

Did you find a solution to this?