如何在不破坏功能的情况下阻止文本行在应用程序中传播(?)事件。
这就是我所拥有的
Application
Component 1
RichEditableTextfield
组件1侦听多个子节点中的事件并查找:
if (event.target is RichEditableTextfield) {
// Do stuff here...
} else {
// Do other stuff
}
但是RichEditableTextfield会在每个文本行上发送MouseDown事件,而Component 1会混淆并认为我想要“做其他事情”而不是“Do stuff here ...”因为event.target是TextLine。
现在我有了这个来阻止TextLines进一步传播:
private function stopTextLineEvents():void
{
if (this.textFlow.flowComposer) {
for (var i:int = 0; i < this.textFlow.flowComposer.numLines; i++) {
var flowLine:TextFlowLine = this.textFlow.flowComposer.getLineAt(i);
var textLine:TextLine = flowLine.getTextLine(true);
if (textLine) {
textLine.removeEventListener(MouseEvent.MOUSE_DOWN,onTextLineDown);
textLine.addEventListener(MouseEvent.MOUSE_DOWN,onTextLineDown);
}
}
}
}
protected function onTextLineDown(event:MouseEvent):void
{
event.stopPropagation();
this.dispatchEvent(event.clone());
}
它几乎可以工作,但我的问题是,当我有多行时,每次我点击一行(这不是第一行),文本字段中的第一行得到锚点而不是我点击的行。< / p>