2012-02-14 63 views
1

我想在我使用的TextArea中禁用复制事件。为了实现这样我添加以下代码块:Flex - 防止在TextArea中使用滚动复制事件

function initTA(){ 
    var tf:IUITextField = body.mx_internal::getTextField(); 
    tf.enabled = false; 
} 

<mx:TextArea id="body" creationComplete="initTA()" .../> 

这是工作的罚款,除非文本区域中出现这种情况下,滚动条有很多文本的内部。在用户使用滚动条后,文本区域停止阻止复制事件。

顺便说一下,我使用文本区域进行显示,因为我使用了富文本区域格式。

感谢您的帮助 谢谢! 乌里

+0

有什么理由不能设置selectable=false? [(documentation)](http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/mx/controls/TextArea.html#selectable)另外,一般来说,使用mx_internal属性是个不好的做法,而方法 - 它们并不真正被公开访问,它们的行为可以在没有警告的情况下进行更改。 – 2012-02-14 14:40:57

+0

你是什么意思,它不起作用?如果你不能选择它,你还能如何复制文本? – 2012-02-15 15:24:57

+0

我认为,如果selectable =“false”不起作用,那么你可能有更大的问题... – 2012-02-15 18:35:58

回答

0

此问题的可能的解决办法是禁用文本区域组件

function initTA(){ 
    var tf:IUITextField = body.mx_internal::getTextField(); 
    tf.enabled = false; 
} 

<mx:TextArea id="body" creationComplete="initTA()" focusEnabled="false" .../> 

时正在使用滚动条(因大量文字的文本区域这样的焦点),焦点不会返回到textarea,而间接方式会禁用副本。