- 浏览: 548956 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
coosummer:
推荐使用http://buttoncssgenerator.c ...
【转载】CSS圆角按钮(一) -
saiarmuluo:
不错,支持。
java log4j日志 写入数据库 -
springdata_springmvc:
spring mvc demo教程源代码下载,地址:http: ...
Freemarker 使用 -
zlbdexiaohao:
棒棒的
flex ToolTip汇总 -
hw_128:
demo的代码的,能不能发一下,谢谢 qq257515270 ...
java log4j日志 写入数据库
事件:
import mx.Events.PropertyChangeEvent; import mx.Binding.utils.*; import mx.Events.FlexEvent; public var thiswatcher:ChangeWatcher; public function initFunction():void { watchInit(); } public function watchInit():void { thiswatcher=ChangeWatcher.watch(textInput,"text" func); // 告诉ChangeWatcher去监听那些变化 } public function stopEvent():void { if(thiswatch.isWatching()) { thiswatcher.unwatch();//取消监听 } } public function func():void { mylable.text=textInput.text; }
//移除事件监听器 在mxml中定义的定义的事件必须使用removeEventListener();
来实现
import mx.controle.Alert; [Bindable] public var labeltext:Stirng="hello word"; public var count:Number=0; public function clickFunction(event:Event):void { var messag:String="hello "+event.target.label; Alert.show(message); } public function addEvent():void { if(myButtion.hasEventListener(MousEvetn.MOUS_OVER)) { myButtion.removeEventListener (MousEvetn.MOUS_OVER,changeLabel); count=0; labeltext="remove"; }else { myButton.addEventListener (MousEvetn.MOUS_OVER,changeLabel); } } public function changeLabel(event:MouseEvent):void { count++; }
//自定义事件
import flash.events.Event; import mx.controls.Alert; public function initFunction():void { mybuttion.addEventListener("newEvent",respondEvent); } public function doEvent():void //click="doEvent" { mybutton.dispatchEvent(new Event("newEvent")); } public function respondEvent(e:Event):void { Alert.show(e.type); }
//自定义事件
import flash.events.Event;
public class TestEvent extends Event
{
public static const TEST_EVENT:String="TEST_EVENT";//事件类型
public var data:Object; //存储事件附加信息
/**
*自定义事件的构造器
*/
public function TestEvent(type:String, bubbles:Boolean = false,
cancelable:Boolean = false)
{
super(type,bubbles,cancelable);
}
} //end class
import flash.events.EventDispatcher;
import mx.controls.Alert;
public class TestEventDispacher extends EventDispatcher
{
public function TestEventDispacher()
{
super();
//将onTestEvent成员函数作为该对象所派发的TestEvent事件的侦听//器以处理
传递给该事件
this.addEventListener(TestEvent.TEST_EVENT,onTestEvent);
}
public function createAndDispatchTestEvent():void
{
//创建一个新事件对象,在被调度之前,事件对象的target属性为null
var testEvent:TestEvent=new TestEvent(TestEvent.TEST_EVENT);
//为事件添加附加信息data
testEvent.data="this is a test event";
//调度该事件,该方法执行后,事件的target属性被设置为
// 执行该方法的TestEventDispacher对象。
this.dispatchEvent(testEvent);
Alert.show("当testEvent对象所有侦听器都执行完毕你才会看到我!");
}
//事件侦听器,用来对侦听到的事件进行处理。
private function onTestEvent(event:TestEvent):void
{
//在控制台中打印侦听器侦听到的TestEvent事件对象data属性中所存//储的
事件附加信息
Alert.show(event.data.toString());
}
}//end class
private function doOnButtonClick():void
{
var ted:TestEventDispacher=new TestEventDispacher();
ted.createAndDispatchTestEvent();
}
在任何事件阶段都可以使用stopPropagation()和sotpimmediatePropagation();
这两个方法的本质上都是想相同的,区别在余是否允许同一个组件上
的其它时间按侦听器接受相应的事件换句话说,如果在事件上调用
evet.stopPropagation()
方法它会在给定的组件上的所有其它事件的侦听器完成对这个时间的响应之后停
止事件的传播
如果使用sotpimmediatePropagation();方法实践会在传播到其它任何事件侦听器
之前被终止,即使这些事件
侦听器侦听的是同一个组件
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="initFunction()"> <mx:Script> <![CDATA[ import mx.controls.Alert; public function initFunction():void { mybutton.addEventListener("click",respondToEvent,false,100);// 添加带有最高优先级的事件侦听器 myHBox.addEventListener("click",parentEventResponse,false,0); } public function respondToEvent(e:Event):void { var msg:String="this is the first responder"; Alert.show(msg,"first event listener"); e.stopImmediatePropagation(); } public function responedEventClick(e:Event):void { Alert.show("this is the mxml click Event"); } public function parentEventResponse(e:Event):void { Alert.show("you shoud never see ths alert","parent Event Response"); } ]]> </mx:Script> <mx:HBox x="158" y="180" width="291" height="165" id="myHBox"> <mx:Button label="Button" id="mybutton" click="responedEventClick(event)"/> </mx:HBox> </mx:Application>
如果把e.stopPropagation()修改成e.stopImmediatePropagation();
结果看到的是一个警告e.stopImmediateP事件ropagation()方法会在第一个事件
侦听器执行完毕后
立即终止传播而e.stopPropagation();终止当前的事件传播
stopImmediatePropagation():void
防止对事件流中当前节点中和所有后续节点中的事件侦听器进行处理。防止对事
件流中当前节点中和所有后续节点中的事件侦听器进行处理。此方法会立即生效
,并且会影响当前节点中的事件侦听器。相比之下,在当前节点中的所有事件侦
听器都完成处理之前,stopPropagation() 方法不会生效。
stopPropagation():void
防止对事件流中当前节点的后续节点中的所有事件侦听器进行处理。防止对事件
流中当前节点的后续节点中的所有事件侦听器进行处理。 此方法不会影响当前节
点 (currentTarget) 中的任何事件侦听器。相比之下,
stopImmediatePropagation() 方法可以防止对当前节点中和后续节点中的事件侦
听器进行处理。 对此方法的其它调用没有任何效果。可以在事件流的任何阶段中
调用此方法。
如果使用 e.stopPropagation(),结果
btn click
hbox click
否则如果没有使用的话,
btn click
hbox click
pan click
stage click
//主键添加元数据
<mx:Metadate>
[Event(name="customButtonClick",true)]
</mx:Metadate>
this.dispatchEvent(new Event("customButtonClick"),true);
相关code:
<?xml version="1.0" encoding="utf-8"?> <mx:VBox xmlns="*" xmlns:mx="http://www.adobe.com/2006/mxml"> <mx:Metadata> [Event(name="customButtonClick", type="flash.events.Event")] </mx:Metadata> <mx:Script> <![CDATA[ public function doCustomEvent():void { this.dispatchEvent(new Event("customButtonClick",true)); } ]]> </mx:Script> <mx:Button id="myButton" label="click me to dispatch custom event" click="doCustomEvent()"/> </mx:VBox>
------------------------------------------------------------------------------------------------------
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" xmlns:comp="components.*"> <mx:Script> <![CDATA[ import mx.controls.Alert; public function doAlert(e:Event):void { Alert.show("this is the alert thrown from the parent app in response to component custom event","component custom event"); } ]]> </mx:Script> <comp:CustomEventMeta customButtonClick="doAlert(event)"/> </mx:Application>
1.不是所有的事件都有三个阶段:Capture,Target,Bubbling。
事件只有在DisplayObject才上有Capturing和Bubbling阶段。
2.Target是派发该事件的对象。CurrentTarget是监听了该事件并正在处理该事
件的对象。
3.Capturing流程:StageàSystemManageràApplicationà…à派发该事件的父对象
。
4.Bubbling流程:派发该事件的父对象à…àApplicationàSystemManageràStage
。
5.在mxml标签中定义的事件监听器是无法用removeEventListener()去掉的,并
且无法设置useCapture和priority属性。
6.用removeEventListener()去掉未添加的事件器时是不会报错的,所有无需用
hasEventListener()判断,但添加时需要判断,否则可能会添加多次。
7.Priority越大的监听器,越先执行。
8.weakRef对于非内嵌函数没用。
9.一个对象可以给同一个事件多个监听器:
假如按添加顺序是eventListener1,eventListener2和eventListener3。
eventListener1没有调stopPropagation()和stopImmediatePropagation()方法。
假设eventListener2调了其中的stopPropatation(),则eventListener3还会继续
执行。但如果eventListener2调的是stopImmediatePropagation(),则
eventListener3不会继续执行。
10.removeEventListener()只能一次去掉一个监听器,为同一个事件添加了几个
监听器就需要调几次removeEventListener(),而且参数要相符。
11.hasEventListener()与willTrigger()的区别是:hasEventListener()只检查
它所属的对象,而willTrigge()检查整个事件流以查找由type参数指定的事件。
12.keyCode对应的是key在键盘上的键值,是一个数字;charCode对应的是该key
在当前字符集中的值,也是一个数字。因此就有下面的情况发生:1和!的keyCode
是一样的,但他们的charCode是不一样的。
事件只有在DisplayObject才上有Capturing和Bubbling阶段。
从根节点到叶节点的父对象
从叶节点的父对象到根节点
如果设为true,只有内嵌函数可能会被垃圾回收器处理。
指stopPropagation()和stopImmediatePropagation()
use_capture
包括检查所有的父对象。
keyCode和keyChar都是KeyBoardEvent的属性。
发表评论
-
Flex4 模块 [转载]
2012-11-05 09:30 0使用flex4模块(1):传递数据到模块 在主程序与模块 ... -
Flex4 List改变了dataProvider,怎么锁定选中Item【转载】
2012-11-05 09:29 1096sfList.dataProvider = sfData; i ... -
解决flex嵌入字体导致文件过大的问题[转载]
2012-11-05 09:25 0众所周知,Flex嵌入字体 ... -
flex DataGrid 行列颜色设置
2012-05-06 20:00 9143群里一哥们问了个问题,就写了个这个demo DataGrid ... -
flex4 Spark DataGrid,title的字体居中
2012-03-20 21:23 6273【原创】flex4 Spark DataGrid,title的 ... -
flex4 Application backgroundImage
2012-03-10 15:13 2889群里一哥们问我 f4 设置 Application 的 bac ... -
flex 无法将“<mx:>”解析为组件执行.解决办法:
2012-03-09 16:34 8294flex项目导入早期版本 无法将“<mx:******& ... -
flex component 去掉点击加亮边框
2012-03-09 16:35 1090群里有人问我怎么去掉TextInput的文本框加亮。写下来 ... -
flex ProgressBar skin 修改
2012-03-09 16:36 2949f3的形式修改border: 其中 barSkin 是外边框 ... -
flex Draggable Flex Components
2012-03-08 20:38 997Creating Resizable and Draggabl ... -
flex 3d云标签
2012-03-08 20:37 1592来自:http://downloads.wordpress.o ... -
AS html 形式超链接设置
2012-03-08 20:36 1647lbl.htmlText = " <b& ... -
flex IViewCursor 的应用
2012-03-08 20:35 1094IViewCursor 的应用 demo 效果图:可以上下 ... -
f4 spark 占位控件
2012-03-08 20:33 979halo的占位控件。<mx:Spacer width=& ... -
halo的grid DataGridColumn itemRenderer 混用 spark 组件
2012-03-03 14:20 1411halo的grid DataGridColumn itemRe ... -
flex DeferredInstanceFromFunction 使用
2012-03-02 21:54 1585flex DeferredInstanceFromFuncti ... -
flex ContextMenuItem 根据状态隐藏选项
2012-02-27 18:28 1386因群里一个群员的要求,写了这个demo,代码粗糙,根据一个控件 ... -
动态设置itemRenderer
2012-02-18 19:34 0<mx:TileList id="tl&quo ... -
【转】解决RemoteClass alias信息丢失
2012-02-18 19:15 794问题发生场景:flex程序中存在多个module都调用一个标记 ... -
flex tree icon
2012-02-14 19:53 33231.tree 改变每一项的 icon图标 <?xml ...
相关推荐
这些传感器包括加速度计、陀螺仪和磁力计,它们协同工作来检测设备的运动、方向和姿态变化。本篇将深入探讨Android应用中如何利用姿态传感器的源代码。 一、姿态传感器介绍 姿态传感器主要包括以下三种: 1. 加速度...
在这个例子中,`event_counts`会记录每个事件出现的次数,`most_common()`方法按计数值降序列出事件。 除了基本的统计,还可以使用可视化库如`matplotlib`或`seaborn`创建图表,帮助我们更好地理解数据分布和趋势:...
// 创建一个SensorEventListener来处理加速度计的事件 inner class AccelerometerListener : SensorEventListener { override fun onSensorChanged(event: SensorEvent?) { if (event?.sensor?.type == Sensor....
Acceleration := EventData.SensorData as TSensorAcceleration; // 处理Acceleration.X, Acceleration.Y, Acceleration.Z的值 end; ``` 4. **处理异常和关闭传感器**: 在不再需要加速度传感器时,记得停止监听...
5. 下载和硬件测试:将生成的配置文件(如.sof for JTAG或.pof for AS)下载到目标设备,并进行硬件测试。 【VHDL基础知识】 VHDL是一种超高速集成电路硬件描述语言,用于描述数字系统。VHDL的组成部分包括: 1. ...
- `event.button` 属性:在 `onMousedown` 事件处理函数中,`event.button` 可以获取用户按下的是哪个鼠标按钮。这在某些交互设计中可能会用到,但并非打字效果的核心部分。 5. 页面加载事件: `onLoad` 事件在...
为小黑点。 loginDlg::loginDlg(QWidget *parent) : QDialog(parent), m_ui(new Ui::loginDlg) { m_ui->setupUi(this); m_ui->pwdLineEdit->setEchoMode(QLineEdit::Password); } 效果如下: 11.如果输入如下图中的...
此外,MySQL还提供了事件调度器(Event Scheduler)来实现定时任务,如定期备份、数据清理等,以及对用户权限的管理,包括添加、删除用户以及分配权限等。通过学习和掌握这些功能,你可以更好地管理和优化你的MySQL...
1. `window.event`:事件对象,提供有关发生的事件的信息。 2. `window.document`:指向Document对象,用于操作网页内容。 3. `window.history`:处理浏览器的历史记录。 4. `window.screen`:提供关于用户屏幕的...
- **例句**:It’s not appropriate to wear casual clothes to a formal event. ##### authentic α. 可靠的/可信的 - **定义**:真实可靠,未被伪造或更改。 - **例句**:The antique dealer claimed that the ...