作者killswitch (Killswitch Engage)
看板Flash
标题[问题] 请问有关target和currentTarget在display时候的问题
时间Wed Jul 16 05:19:33 2008
以下是部分程式码
抱歉有点伤眼 我尽量用的好看一点 @@"
main function中
{
var s:Sprite = new Sprite()
.
.
var t:TextField = new TextField();
.
.
s.addChild(t);
addChild(s);
s.addEventListener(FocusEvent.FOCUS_IN, focusInListener);
}
public function focusInListener (e:FocusEvent):void
}
trace("Target of this event dispatch: " + e.target);
// Displays: [object TextField]
trace("Object with which this listener registered: "+e.currentTarget);
// Displays: [object Sprite]
}
请问一下 当我在点击画面的TextField的时候 事件是由谁触发的
textfield物件已经装在sprite里面了吧@@?
我查help里面textfield没有focus_in这种event 但是sprite有
难道sprite的event inherit给了textfield?
因为comment似乎说target是丢event的 currentTarget是注册的
还有为什麽是listener要register在sprite object?
书上前面一点在说non-display object里面的话 currentTarget就会等於Target
在register的时候只要
会发布event的object"a" .addEventListener(event,listener)
Target和currentTarget就快快乐乐的指向a就好了
这个code里面注册的时候不注册发布event的textfield去注册Sprite是为了?
还有最後和标题无关的问题 =ˇ=
程式码里面的addChild(s) 是要add到哪里去....
抱歉希望我知道问题有点乱 我也语无伦次
有劳版友解惑 先谢过 <(_ _)>
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 123.193.144.115
1F:推 dreamboxer:addChild(DisplayObject), 是加到目前物件的显示清单中 07/16 08:41
2F:→ dreamboxer:在AS3中,要把物件加到显示清单中才会显示在画面上 07/16 08:42
3F:→ killswitch:原来如此 谢谢楼上 07/17 17:47