防止将样式从一个flex textArea复制到另一个

时间:2009-11-03 18:39:15

标签: flex flash actionscript-3 textarea

如果您有两个具有不同样式(fontFamily,weight,color等)的文本区域,并且您将文本从一个文本复制到另一个文本区域,则它还会从原始文本区域复制样式。是否有任何光滑的方法来阻止它?

以下是一个代码示例,用于说明问题。在顶部框中键入一些文本,在底部键入一些文本,然后将顶部框中的一些字符复制到底部。我没有使用htmltext。

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
  <mx:VBox width="100%" height="100%">
    <mx:TextArea id="source" width="100%" fontWeight="bold" fontSize="20" height="50" />
    <mx:TextArea id="dest" width="100%" height="50" /> 
  </mx:VBox>
</mx:Application>

2 个答案:

答案 0 :(得分:2)

这是一个非常肮脏的黑客,它完成了它:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
    layout="absolute"
    >

    <mx:Script>
        <![CDATA[

            public function reformat():void
            {
                var hold:String = two.text
                two.text = ""
                two.htmlText = hold
            }


        ]]>
    </mx:Script>

    <mx:VBox width="100%" height="100%" >

        <mx:Button click="bonk()" />

        <mx:TextArea fontWeight="bold" id="one" width="100%" height="100%" />

        <mx:TextArea fontWeight="normal" id="two" width="100%" height="100%" change="reformat()" />

    </mx:VBox>


</mx:Application>

答案 1 :(得分:0)

你能展示代码示例吗?

我的第一个猜测是你正在设置第一个文本区域的htmlText属性,你的颜色和样式是通过HTML。你是否用你的副本复制html标签?您可能需要覆盖texthtmlText设置器并删除标记(或更改它们)。

我甚至不确定textarea的复制/粘贴是否会复制HTML内部。看起来似乎有道理。