Знаете ли вы, когда щелкают гиперссылки в текстовом поле? - PullRequest
1 голос
/ 04 июня 2009

Есть ли во Flash какое-либо событие, когда пользователь щелкает гиперссылку в TextField?

Ответы [ 4 ]

3 голосов
/ 04 июня 2009

Существует: TextEvent.LINK, но он работает только со ссылками, начинающимися с "event:".

tf.htmlText = "<a href=\"event:http://www.example.com\">Example</a><br>";

http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/text/TextField.html

Если вы извлекаете внешние данные, не используя синтаксис «event:», вы, вероятно, могли бы легко написать быстрый RegExp, чтобы добавить их.

1 голос
/ 25 июня 2009

Вот код, который заменяет hrefs на префиксы «event:» (как предложено 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, в которых уже есть "event:". (Я мог бы использовать отрицательное прогнозное утверждение в регулярном выражении, но мне было лень.)

1 голос
/ 04 июня 2009

Возможно использовать событие TextField «ссылка» - оно отправляется, когда пользователь щелкает гиперссылку внутри TextField.

Отличный пример представлен на сайте Adobe .

1 голос
/ 04 июня 2009

Возможно, посмотрите ссылку .

...