作者:小白也坚强_177 | 2021-08-03 17:48
最近在做地图JS和FLEX的封装工作,flex封装需要用到自定义事件这方面知识,在这里就简单介绍一下FLEX自定义事件。自定义事件必须注意几点:(1)自定义事件通过继承Event类来实现。(2)自定义事
SyntaxHighlighter.all();
最近在做地图JS和FLEX的封装工作,flex封装需要用到自定义事件这方面知识,在这里就简单介绍一下FLEX自定义事件。
自定义事件必须注意几点:
(1)自定义事件通过继承Event类来实现。
(2)自定义事件不可以自己触发,只能有系统事件派发。
首先我们新建一个ActionScript 类,这个类继承flash.events.Event。
package
{
import flash.events.Event;
public class MyEvent extends Event
{
public static const myEvent:String="myEvent";
public var data:*;
public function MyEvent(type:String,bubbles:Boolean=false,cancellabel:Boolean=false,data:* = null)
{
super(type,false,false);
this.data = data;
}
override public function clone():Event{
return new MyEvent(myEvent,false,false,data);
}
override public function toString():String{
return formatToString("MyEvent");
}
}
}
component.mxml
[html]
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" initialize="init()">
import mx.controls.Alert;
import mx.events.FlexEvent;
public var ff:FlexMyEvent;
public function init():void{
ff = this.parentDocument as FlexMyEvent;
ff.addEventListener(MyEvent.myEvent,myEventHandler);//监听事件
}
public function myEventHandler(eve:Object):void{
inpu.text = eve.data;
Alert.show("事件触发,"+eve.data);
}
]]>
主程序
FlexMyEvent.mxml
[html]
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
xmlns:comp = "*"
>
import flash.external.ExternalInterface;
import flash.system.Security;
import mx.controls.Alert;
import mx.events.FlexEvent;
public var callBackInfo:String = "";
public function doSend():void{
callBackInfo = input.text;
var myEve:MyEvent = new MyEvent(MyEvent.myEvent,false,false,callBackInfo);//派发事件 myEve.data is Object;
this.dispatchEvent(myEve);
}
]]>
推荐阅读
-
如何解决《当Redux状态更改为低于第一级时,React不会更新》经验,为你挑选了0个好方法。 ...
[详细]
-
如何解决《在片段中实现RecyclerView》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《AndroidGoogleAuth登录handleSignInResult:false》经验,为你挑选了0个好方法。 ...
[详细]
-
如何解决《在Swift中将CGFloat转换为NSNumber》经验,为你挑选了3个好方法。 ...
[详细]
-
如何解决《在模块内实例化类时,超出了最大调用堆栈》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《初学者安装模块最简单的方法是什么?》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《刚刚通过NuGet更新了ImageResizer,无法运行app,因为它无法找到BundleAttribute》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《python将列表的所有元素向右移动一个》经验,为你挑选了2个好方法。 ...
[详细]
-
如何解决《C++,无法打开源文件"ifstream"VisualStudio》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《在C#单元测试中使用64位本机.DLL》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《清除std::vector数组的最佳方法是什么?》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《JavaNashorn脚本模式:如何写入文件》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《如何从大师分支以来gitdiff所有变化?》经验,为你挑选了2个好方法。 ...
[详细]
-
如何解决《如何在Swift中以编程方式创建"Back"UIBarButton项?》经验,为你挑选了2个好方法。 ...
[详细]
-
如何解决《pythonpandas-应用具有两个列参数的函数》经验,为你挑选了2个好方法。 ...
[详细]
-
如何解决《位置:固定,底部:0似乎不适用于离子应用程序》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《如何告诉scikit-learn给出F-1/精度/召回分数的标签(二进制分类)?》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《Azure共享计划上的SSL?》经验,为你挑选了2个好方法。 ...
[详细]
-
如何解决《如何防止Onchange在页面加载时触发》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《如何获取状态栏背景颜色以显示colorPrimaryDark》经验,为你挑选了1个好方法。 ...
[详细]