Let’s say I have a simple red box on the canvas. I want the onClick event for that red box to move another object on the canvas: a green box. That’s simple enough, even if the green box isn’t a named widget. Now let’s say I embed that red box in a Master. The interaction no longer works, because the green box is no longer in the same place relative to the red box…it’s “above” it in the content stack. Is there a way for an object within a master to set interactions for (target) an object “above” it? In HTML, this would be the equivalent of changing an href from “greenbox.html” to “…/greenbox.html”
If I understand correctly, you may be needing to use a “raised event” on the master. So the red box would have a “raise event” action on it called, say “RedboxClicked”. This event would then appear in the list of available events on the master, which you can then target to the green box on the canvas.
BTW raised events can be very useful when creating navigation. Also, when combined with the OnPageLoad event, you can make “polymorphic” masters that change dynamically around your prototype (eg according to the state of a variable, or something).
Jon: Thanks for your quick reply and for introducing me to Raised Events. I can see how powerful they might be. I don’t think they solve our immediate challenge, though: I’m looking for a way a button within a dynamic panel to trigger an action on a widget within another dynamic panel. A use case we’re working on currently is this: a series of three buttons is embedded in a dynamic panel (I’ll explain why in a moment). When one of the three buttons is clicked, the state of a second dynamic panel should change. This is easily done if the series of three buttons isn’t embedded in a dynamic panel itself, but once it is embedded, it can no longer target widgets outside of its own “environment.” Does that make sense? (And the reason we’ve embedded the three buttons in a panel, is there are two other sets of three buttons that are revealed based on a user input).
Quick response off the top of my head here (I don’t have Axure installed on this machine, that’s my excuse), you may be able to trigger a trigger. I’ve seen this done and used it myself, to have some action trigger a hidden widget to do something, and the something of that widget could trigger something else.
So the raised event from the master-red-box could cause a hidden circle to rotate. The onRotate of that circle could then cause green-box to move . . .
When I get back to my dev machine, if you’re still working this out, I’ll prove out what I’m saying (I hope, haha!)
Thanks, Jacque. Yep, I know we could use something like an event listener with variables, but that’s a lot of complexity to do something so basic. Just surprised this is so hard, as I swear it was possible to target nested widgets from nested widgets in past versions of Axure.
“I swear it was possible to target nested widgets from nested widgets in past versions of Axure.”
You should be able to in Axure 8, certainly.
At the risk of stating the obvious, the objects you’re dealing with are all named appropriately so you can target them, yes? I think in some cases if an object isn’t named it doesn’t appear in the list of targets.