Flex 4 добавление привязки TextFlow с событием click - PullRequest
1 голос
/ 11 июля 2011

Учитывая следующее:

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>";

Затем импортируем его при созданииЗавершено:

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 не поддерживаются. Также отсутствуют стили: link, a: hover и a: active.

Они также удаляются с помощью TEXT_LAYOUT_FORMAT?

1 Ответ

1 голос
/ 12 июля 2011

Да, это избавляет от всех событий FlowElementMouseEvent, раздражает.После импорта вам нужно вернуться и найти все ссылки, а затем добавить FlowElementMouseEventhandler s.Здесь есть запись в блоге: http://flexdevtips.blogspot.com/2010/10/displaying-html-text-in-labels.html, в которой рассказывается, как это сделать.

...