处理Flex中TextInput,TextArea的文本超链接

在Flex中处理链接是很方便的操作,比如Button, Label, LinkButton等,只要在Click事件中加入相关的链接操作就行了。

但想要在诸如TextArea等记录大量文字的控件中通过点击某个单词或句子来达到这样的效果就比较困难了。

 

所以就想到了使用htmlText。通过htmlText中的a标签,并将点击a标签作为一个事件就可以处理了。 a标签是什么就不解释了,和Html中的概念一样。

<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" backgroundColor="white" creationComplete="init()" layout="vertical"> <mx:Script> <!--[CDATA[ import flash.net.navigateToURL; import mx.controls.Alert; private const WEB_SITE:String = "http://www.baidu.com"; private function init():void { txt.htmlText += "<a href="event:" + WEB_SITE + "" mce_href="event:&quot; + WEB_SITE + &quot;"><u>click</u></a>"; txt.addEventListener(TextEvent.LINK, doLink); //这里要监听link事件 } private function doLink(evt:TextEvent):void { navigateToURL(new URLRequest(evt.text),'_self'); } ]]--> </mx:Script> <mx:TextArea id="txt" width="300" height="100" fontSize="12" htmlText="这是一个点击TextArea中的link到外部链接的例子,请点击下面的Click"/> </mx:Application>

 

这样就实现在在文本中通过点击某个单词而达到页面跳转的功能。

你可能感兴趣的:(处理Flex中TextInput,TextArea的文本超链接)