不允许在Flex中的textarea中的特定区域进行编辑

时间:2011-11-10 08:28:02

标签: flex events textarea editing

我只是想不允许在flex的文本区域的某些区域进行编辑。怎么做?

假设文本区域中的文本长度为50个字符,如果光标位置小于15,我想允许编辑,如果文本区域中的光标位置大于15,则不允许用户在文本区域中添加更多文本。 如果用户按任意键,则不应在文本区域中添加任何字符。

我用过

event.preventDefault();
event.stopImmediatePropagation();
event.stopPropagation();

关键事件,但它对我不起作用。

任何人都可以帮助我吗? 感谢。

1 个答案:

答案 0 :(得分:0)

也许用改变而不改变。我想这就是你想要的:

<fx:Script>
    <![CDATA[
        import spark.events.TextOperationEvent;

        protected function textarea1_changeHandler(event:TextOperationEvent):void
        {
            trace("indexchange: ",ta.selectionActivePosition);
        }

        protected function ta_changingHandler(event:TextOperationEvent):void
        {
            trace("indexchanging: ",ta.selectionActivePosition);
            if(ta.selectionActivePosition>15) event.preventDefault();
        }

    ]]>
</fx:Script>
<s:TextArea id="ta" x="6" y="11" width="420" text="12345678901234567890" changing="ta_changingHandler(event)" change="textarea1_changeHandler(event)"/>