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

Posted

技术标签:

【中文标题】不允许在 Flex 中编辑 textarea 中的特定区域【英文标题】:Do not allow editing at sepecific area in text area in Flex 【发布时间】:2011-12-25 23:26:08 【问题描述】:

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

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

我用过

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

在按键事件中,但它对我不起作用。

谁能帮助我? 谢谢。

【问题讨论】:

【参考方案1】:

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

<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"  text="12345678901234567890" changing="ta_changingHandler(event)" change="textarea1_changeHandler(event)"/>

【讨论】:

以上是关于不允许在 Flex 中编辑 textarea 中的特定区域的主要内容,如果未能解决你的问题,请参考以下文章

TextArea htmlText 设置时不更新文本属性(Flex)

Flex 限制 textarea 中的字符数

Flex TextArea - 从 Word 复制/粘贴 - xml 解析中的 unicode 字符无效

Flex ApplyFormatOperation 中断 Spark TextArea 中的撤消/重做

如何取消 Halo/Spark TextInput 和 TextArea 组件中的编辑

多个文本区域上的 flex 编辑菜单操作