Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Слушатель к ссылке (http://www.flasher.ru/forum/showthread.php?t=114406)

Alexsas 28.07.2008 16:38

Слушатель к ссылке
 
Добрый день.

Вопрос такой. Можно ли добавить слушателя к гиперссылке в тексте?
Если да, то как.

Спасибо.

divinus 28.07.2008 16:49

Код:

var textTF:TextField = new TextField();
textTF.autoSize = TextFieldAutoSize.LEFT;           
textTF.multiline = true;

textTF.htmlText = "asdfasdfa sdasd fsdf adfg sdfg <font color=\"#FF0000\" ><a href=\"event:www.youdomain.ru\" >link</a></font> sdfgsdfgdf";
super.addChild(textTF);
textTF.addEventListener(TextEvent.LINK, handler_link);

function handler_link(event:TextEvent):void {
        trace(event);
}


Alexsas 28.07.2008 17:01

спасибо

Alexsas 10.08.2008 13:55

а вот есть такая проблемма... текст подгружаеться из xml.
в нем может быть неизвестное количество ссылок.

вопрос: как перебрать все ссылки и прикрутить к ним слушателей?

etc 10.08.2008 15:53

RegExp-ом, например.

Alexsas 11.08.2008 15:36

ммм... надо прикрутить к ним разным слушателям.

в тексте допустим пять ссылок, так вот каждая ссылка обрабатываеться по своему... ну или одинаково но с разными параметрами.

как такое замутить?

mre 11.08.2008 15:58

Код:

var tf:TextField = new TextField();
tf.htmlText = "<a href='event:myEvent'>Click Me.</a>";
tf.addEventListener(TextEvent.LINK, clickHandler);
addChild(tf);
...
private function clickHandler(e:TextEvent):void
{
        trace(e.text); // myEvent
}


Alexsas 11.08.2008 16:09

mre — помоему вы не моняли вопроса...

суть в том что я не могу знать сколько в тексте будет ссылок...
но тем неменее ко всем из них нужно прикрутить слушателей(ля?), которые будут их по разному обрабатывать..

допустим на первую ссылку у меня рисуеться квадратик 2х2
на вторую квадратик 2х4
на третью снова 2х3
на четвертую 3х5
функция одна но параметры квадартика разные... вот.

mre 11.08.2008 16:19

А в чем проблема?
Код:

private function clickHandler(e:TextEvent):void
{
        switch (e.text)
        {
                case "link1":
                                  break;
                case "link2":
                                  break;
                ..........................
        }
}


Alexsas 11.08.2008 16:25

о! вот это другое дело... спасибо друг!


Часовой пояс GMT +4, время: 08:43.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.