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”事件,烦人。基本上在导入之后,您需要返回并找到所有链接,然后添加FlowElementMouseEventhandlers. 这里有一篇博客文章:http: //flexdevtips.blogspot.com/2010/10/displaying-html-text-in-labels.html讨论了如何做到这一点。

于 2011-07-11T20:18:45.820 回答