所以我有以下代码。
<fx:Script>
<![CDATA[
import flashx.textLayout.conversion.TextConverter;
private var stringWithLink : String = "click for some event<a href='event:foobar'>foobar 012345647890123456789</a>";
]]>
</fx:Script>
<s:RichEditableText id="text1" editable="false" selectable="false" left="0" right="0" textAlign="center"
textFlow="{TextConverter.importToFlow(stringWithLink, TextConverter.TEXT_FIELD_HTML_FORMAT)}" />
</s:WindowedApplication>
有一个带有 html 文本的 RichEditableText (text1),带有生成一些事件 (foobar) 的 href。问题是链接的一部分不起作用。为了简单起见,我没有包含从 textFlow 中捕获事件的代码,但是您可以看出该链接不起作用,因为对于链接的第一部分,鼠标光标不会变成手形光标。从链接开始到前 9 个左右,鼠标光标将保持为指针,但如果您将鼠标移过前 9 个,光标将变为手形光标。如果删除字符串的数字部分,整个链接将停止响应。
这似乎是宽度和文本对齐的问题。如果您没有在 text1 上定义宽度,问题就会消失。但如果你定义了固定宽度或百分比宽度,问题又来了。我还尝试了不同的文本对齐方式。如果您尝试将文本向左对齐(开始、对齐、向左)的任何对齐方式,它会正常工作。但是,如果您使用对齐方式将文本从左边缘(中心、右侧、末端)对齐,问题就会再次出现。
有人知道为什么会发生这种情况吗?任何解决方案?