当前位置: 代码迷 >> Web前端 >> [事件]自定义事件轨范
  详细解决方案

[事件]自定义事件轨范

热度:116   发布时间:2012-11-23 00:03:29.0
[事件]自定义事件规范

自定义事件:

一个完整的事件类应该包括:

  • 若干事件类型字符串常量。
  • 自定义的变量。
  • 合适的构造函数。
  • 覆盖clone()方法。
  • 覆盖toString()方法。

?

?

package com.insprise.dept.event
{

/**
 * when Operation Success, and it's responder can dispatch this event
 */
public class OperationResultEvent extends Event
{
	public static const OPERATION_COMPLETE:String = "OperationComplete";
	private var _resultData:Object;

	/**
	 * Constructor
	 */
	public function OperationResultEvent(resultData_:Object) {
		super(OPERATION_COMPLETE, false, false);
		_resultData = resultData_;
	}

	/**
	 * Getter
	 */
	 public function get resultData():Object {
	 	return _resultData;
	 }

	/**
	 * Override - MUST - 必须重写, 否则在clone时将不存在自定义的field
	 */
	 override public function clone():Event {
	 	return new OperationResultEvent(_resultData);
	 }

	/**
	 * OPTIONAL - 可选
	 */
	 override public function toString():String {
	 	return formatToString(OPERATION_COMPLETE, "_resultData");
	 }

}//end of class
}//end of package

?

附注说明:

?

formatToString () 方法??

public function formatToString(className:String, ... arguments):String

语言版本 :? ActionScript 3.0

RuntimeVersions:? AIR 1.0, Flash Player 9

用于在自定义 ActionScript 3.0 Event 类中实现 toString() 方法的实用程序函数。建议覆盖 toString() 方法,但不是必须覆盖。

  class PingEvent extends Event {
     var URL:String;
     public override function toString():String { 
        return formatToString("PingEvent", "type", "bubbles", "cancelable", "eventPhase", "URL"); 
     }
  }

?

参数
className:String ― 自定义 Event 类的名称。在上面的示例中,className 参数为 PingEvent。
... arguments ― Event 类的属性和在自定义 Event 类中添加的属性。在上面的示例中,...arguments 参数包括 type、bubbles、cancelable、eventPhase 和 URL。
返回? String ― 自定义 Event 类的名称和 ...arguments 参数的字符串值。

注意:...arguments 参数中指定的属性必须都是公共属性。

?

1 楼 zwnJava 2010-04-06  
  相关解决方案