Во Flash есть ли какое-либо событие, когда пользователь нажимает гиперссылку в TextField?Знаете, когда нажата гиперссылка в текстовом поле?
ответ
Существует: TextEvent.LINK, но он работает только со ссылками, связанными с «событием:».
tf.htmlText = "<a href=\"event:http://www.example.com\">Example</a><br>";
http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/text/TextField.html
Если вы тянете во внешних данных, не используя «событие:». Синтаксис, вероятно, можно легко написать быстрый RegExp, чтобы добавить его в
Представляется возможным, проверка из reference.
Можно использовать событие TextField «ссылка» - оно отправляется, когда пользователь нажимает гиперссылку в TextField.
Отличный пример представлен в Adobe site.
Вот код, который заменяет hrefs с «событие:» префиксы (как это было предложено geraldalewis выше):
public static function hrefEvents(s:String):String {
var hrefRegex:RegExp = /href="/gm;
var output:String = s.replace(hrefRegex, "href=\"event:");
var dupe:RegExp = /event:event:/gm;
output = output.replace(dupe, "event:");
return output;
}
Обратите внимание, что я не забудьте отменить замену для hrefs, что уже есть «событие:» в их. (Я мог бы использовать отрицательное выражение для ожидания в регулярном выражении, но я был ленивым.)