Flex中通过hasEventListener和willTrigger事件检测按钮控件是否监听某个特别事件(FlexEvent.BUTTON_DOWN)的例子
By Minidxer | August 21, 2008
接下来的例子演示了Flex中通过hasEventListener和willTrigger事件,检测按钮控件是否监听某个特别事件(本例中为:FlexEvent.BUTTON_DOWN)。
让我们先来看一下Demo(可以右键View Source或点击这里察看源代码):
下面是完整代码(或点击这里察看):
Download: main.mxml
- <?xml version="1.0" encoding="utf-8"?>
- <mx:Application name="Button_willTrigger_buttonDown_test"
- xmlns:mx="http://www.adobe.com/2006/mxml"
- layout="vertical"
- verticalAlign="middle"
- backgroundColor="white">
- <mx:Script>
- <![CDATA[
- import mx.controls.Alert;
- import mx.events.FlexEvent;
- import mx.utils.StringUtil;
- private function verify_click():void {
- var listener:Boolean = btn.hasEventListener(FlexEvent.BUTTON_DOWN);
- var trigger:Boolean = btn.willTrigger(FlexEvent.BUTTON_DOWN);
- var str:String = "hasEventListener() = {0}{1}willTrigger() = {2}";
- Alert.show(StringUtil.substitute(str, listener, "n", trigger));
- }
- private function addEventListener_click():void {
- btn.addEventListener(FlexEvent.BUTTON_DOWN, btn_buttonDown);
- verify_click();
- }
- private function removeEventListener_click():void {
- btn.removeEventListener(FlexEvent.BUTTON_DOWN, btn_buttonDown);
- verify_click();
- }
- private function btn_buttonDown(evt:FlexEvent):void {
- Alert.show(evt.type);
- }
- ]]>
- </mx:Script>
- <mx:ApplicationControlBar dock="true">
- <mx:Button label="Verify listeners"
- click="verify_click();" />
- <mx:Spacer width="100%" />
- <mx:Button label="addEventListener()"
- click="addEventListener_click();" />
- <mx:Button label="removeEventListener()"
- click="removeEventListener_click();" />
- </mx:ApplicationControlBar>
- <mx:Button id="btn" label="Button" />
- </mx:Application>
代码:Peter deHaan 翻译/整理/编译:中文Flex例子
Topics:
Flex |
No Comments » |
Tags: addEventListener(), hasEventListener(), removeEventListener(), willTrigger