Setting Event Handlers
Use the <mx:SetEventHandler> tag to add or change an event handler for a component. The tag
requires that you specify values for target, name,
and handler attributes. The target attribute value needs to be a reference
to the component for which you want to add or change an event handler. The
name attribute value needs to be the
name of the event. The handler
attribute specifies the new event handler.
Note
SetEventHandler is the MXML
equivalent to using the addEventListener() and removeEventListener() methods in
ActionScript.
Example 12-10 modifies Example 12-8 so that it uses one button rather than two to toggle the enabled state of a text input. It does this by changing the event handler for the button (as well as the label) when it is clicked.
Example 12-10. Setting event handlers
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:HBox id="hbox">
<mx:Button id="button" label="Enable" click="currentState='enabled';" />
<mx:TextInput id="textinput" enabled="false" text="example text" />
</mx:HBox>
<mx:states>
<mx:State name="enabled">
<mx:SetProperty target="{textinput}" name="enabled" value="{true}" />
<mx:SetEventHandler target="{button}" name="click"
handler="currentState='';" />
<mx:SetProperty target="{button}" name="label" value="Disable" />
</mx:State>
</mx:states>
</mx:Application>Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access