вторник, марта 18, 2008

Как открыть ссылку, заданную в htmlText компонента Text. Flex

Если задать HTML-текст как мы это делали всегда, ссылка станет активной, но открываться не будет:
<a href='http://www.adobe.com' target='_blank'>Go Home</a>

На лайф-доках есть статья, которая открывает нам этот новый секрет Flex. Теперь необходимо создавать обработчик, который будет осуществлять переход по ссылке:
<?xml version="1.0"?>
<!-- textcontrols/LabelControlLinkEvent.mxml -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" borderStyle="solid" backgroundGradientColors="[#FFFFFF, #FFFFFF]">
<mx:Script>
<![CDATA[
import flash.events.TextEvent;
public function linkHandler(event:TextEvent):void {
myTA.text="The link was clicked."; // Open the link in a new browser
window. navigateToURL(new URLRequest(event.text), '_blank')
} ]]>
</mx:Script>
<mx:Label selectable="true" link="linkHandler(event);">
<mx:htmlText>
<![CDATA[<a href='event:http://www.adobe.com'>Navigate to Adobe.com.</a>]]>
</mx:htmlText>
</mx:Label>
<mx:TextArea id="myTA"/>
</mx:Application>

Таким образом, мы сами контролируем открытие ссылок из текстовых блоков.

Комментариев нет: