1.事件对象
在基于MXML
事件对象定义了一些任何监听函数都可以访问的属性,如下所示:
bubbles
指示事件是否是冒泡事件,即是否从已接收任何侦听器进一步沿事件链向上重新发送该事件对象。
cancelable
指示该事件是否是可取消的。
currentTarget
处于活动进程的事件对象。
eventPhase
事件流的当前阶段。
Target
事件目标,即发出该事件的对象。
Type
事件类型
2.处理事件的方式
可以通过两种方式在Flex应用程序中处理事件:
2.1在MXML对象声明中使用基于XML属性的事件处理器
MXML事件处理器使用一个XML属性,其中属性的名称与被处理的事件名称相匹配。XML属性的值是一个能够触发某个操作的ActionScript语句。在基于MXML的事件处理器的生存期中,事件对象的名称始终相同:event(通常以小写形式表示)。
<mx:Button
click="
{
textComponent.text =
'You clicked the button'
" label="
Click Me
"
/>
<mx:Text
id="
textComponent
"
/>
或者
<mx:Script>
<![CDATA[
private function clickHandler():void
{
textComponent.text ='You clicked the button';
}
]]>
</mx:Script>
<mx:Button click="clickHandler()
" label="Click Me"
/>
<mx:Text
id="
textComponent
"
/>
2.2使用addEventListener()方法
addEventListener()是在ActionScript类EventDispatcher中定义的,这个类位于能够分配事件的每个AS类的继承层次结构中。简单来讲,可以从知道如何分配事件的任何对象调用addEventListener()。
addEventListener()的第一个参数是要监听的事件名称,如MouseEvent.CLICK="click", MOUSE_DOWN="mouseDown",MOUSE_UP="mouseUp",MOUSE_MOVE="mouseMove",RIGHT_CLICK="rightClick",MOUSE_WHEEL="mouseWheel"。
当然也可以使用removeEventListener()。
分享到:
相关推荐
1. 定义事件类:通过继承Event类或其子类,如FlexEvent,定义自定义事件类,添加自己的属性和方法。 2. 分发自定义事件:在事件源中创建自定义事件实例,并使用dispatchEvent方法分发。 3. 注册监听器:与处理内置...
Flex Event是Adobe Flex框架中的一个重要概念,用于处理和管理组件之间的交互事件。下面是对Flex Event的详细解析: 1. **事件传播的三个阶段**:在Flex中,不是所有事件都会经历Capture、Target和Bubbling这三个...
xmlService.addEventListener(FlexEvent.RESULT, handleResult); function handleResult(event:FlexEvent):void { var xmlData:XML = new XML(event.result as String); // 使用XPath表达式或属性访问语法筛选...
import mx.events.FlexEvent; import mx.events.ListEvent; import mx.events.NumericStepperEvent; import mx.events.SliderEvent; //聚焦模糊 [Embed(source="pbj/zoomBlur.pbj",mimeType=...
5. **Flex Event Model**: 事件模型是Flex API的重要特性,允许组件之间通过事件进行通信。事件包括用户交互事件(如点击按钮)、数据变化事件和生命周期事件等。事件监听器可以通过添加到组件上,来响应这些事件。 ...
dispatchEvent(new FlexEvent(FlexEvent.CLOSE)); } private function maximizeSize():void { // 设置窗口大小等于舞台大小 } private function restoreSize():void { // 还原窗口到原始大小 } } ``` 在...
通常,我们会选择`flash.events.Event`或`mx.events.FlexEvent`作为基类,前者适用于基本事件,后者则为Flex框架提供了一些额外的属性和方法。 - 自定义事件类应包含一个构造函数,用于初始化事件的属性。例如,...
private function onInit(event:FlexEvent):void { trace("CustomPanel[ Init ]"); // 在这里访问和使用o对象,因为初始化已完成 // ... } ``` 另一种方法是确保在`createChildren()`之前对`o`对象进行赋值,...
每个事件类型都有一个唯一的字符串标识,如“MouseEvent.CLICK”或“FlexEvent.CHANGE”。 3. 事件对象: 当事件发生时,会创建一个事件对象,它包含了关于事件的所有信息,如事件类型、时间源、事件目标等。...
protected function comboBox_textChangeHandler(event:FlexEvent):void { dataProvider.filterFunction = containsFilterFunction; dataProvider.refresh(); } private var containsFilterFunction:Function...
tabNav.addEventListener(mx.events.FlexEvent.TAB_CHANGED, tabNav_tabChangedHandler); } private function tabNav_tabChangedHandler(event:mx.events.FlexEvent):void { // 在这里处理页面切换逻辑 } ``...
不过,可以通过监听`FlexEvent.LOAD`事件来了解页面是否成功加载,还可以监听`flash.events.Event.COMPLETE`事件来捕获加载完成的信号。 8. **安全注意事项** 由于同源策略的限制,`iframe`加载的网页内容通常只能...
message.addEventListener(FlexEvent.UPDATE, function(event:FlexEvent):void { trace("Data updated:", event.target); }); ``` 在这个例子中,我们创建了一个Label和一个数据对象,然后使用BindingUtils将它们...
protected function app_creationCompleteHandler(event:FlexEvent):void { btn.addEventListener(MouseEvent.CLICK, showNames); btn.addEventListener(MouseEvent.CLICK, showtitles); } protected function...
FlexEventMessage flexEvent = (FlexEventMessage) message; String eventType = flexEvent.getType(); switch (eventType) { case "buttonClick": handleButtonClick(flexEvent.getData()); break; // ...
这可以通过监听`FlexEvent.LANGUAGE_CHANGE`事件来实现。 5. **ActionScript中的国际化**:在ActionScript代码中,我们可以使用`ResourceBundle.getBundle()`方法加载资源文件,然后通过`ResourceBundle.getString...
5. **Flex Event Model**: 事件驱动模型是Flex应用程序的基础,了解事件的发射、监听和处理是编写响应式UI的关键。 6. **Data Binding**: Flex支持数据绑定,使得UI组件的状态可以直接与数据模型关联,简化了代码并...
protected function deptDg_creationCompleteHandler(event:FlexEvent):void { getDepartmentsResult.token = employeeService.getDepartments(); } ]]> ``` 这部分脚本定义了一个事件处理器 `deptDg_...
在Flex中,我们可以使用EventDispatcher类或mx.events.FlexEvent类来处理这些事件。 接着,我们来看看数据绑定。在Flex中,数据绑定允许我们把组件的属性与数据源关联起来,这样当数据源发生变化时,组件的显示也会...
例如,`MouseEvent`、`KeyboardEvent`和`FlexEvent`等都是常见的事件对象类型。事件对象通过`type`属性标识事件类型,`target`属性指明事件发生的对象,而`currentTarget`属性则表示当前处理事件的组件。 4. 自定义...