1

以下を考えると:

private var errorHtml:String = "<TextFlow xmlns=\"http://ns.adobe.com/textLayout/2008\"><p>Existing account, please <a click=\"clickHandler(event);\">click here</a>.</p></TextFlow>";

次に、creationComplete でインポートします。

errorMessageText.textFlow = TextConverter.importToFlow(errorHtml, TextConverter.TEXT_LAYOUT_FORMAT);

クリック ハンドラー関数は起動しません。しかし、それをマークアップに直接追加すると:

<s:textFlow>
  <s:TextFlow>
    <s:p>
        Existing account, please <a click=\"clickHandler(event);\">click here</a>.
    </s:p>
  </s:TextFlow>
</s:textFlow>

イベントは正常に発生します。TEXT_FIELD_HTML_FORMAT としてインポートしようとすると、これらのイベントが削除されることがわかりました。

注意: TextField クラスとは異なり、ActionScript リンク イベントはサポートされていません。a:link、a:hover、および a:active スタイルでもありません。

それらも TEXT_LAYOUT_FORMAT を使用して削除されますか?

4

1 に答える 1

1

はい、すべての「FlowElementMouseEvent」イベントが取り除かれます。面倒です。基本的に、インポートした後、戻ってすべてのリンクを見つけてから追加する必要がありますFlowElementMouseEventhandler。ここにブログ投稿があります: http://flexdevtips.blogspot.com/2010/10/displaying-html-text-in-labels.htmlで、その方法について説明しています。

于 2011-07-11T20:18:45.820 に答える