Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   TextField & asfunction (http://www.flasher.ru/forum/showthread.php?t=92913)

iNils 09.03.2007 21:22

Удалить поле и создать новое.

etc 09.03.2007 21:25

Уверен?
Код:

var txt:TextField = this.createTextField("txt", 2, 10, 10, 200, 200);
s = new TextField.StyleSheet();
s.parseCSS('a:link {color:#FF0000}');
with (txt) {
        background = true;
        backgroundColor = 0xCCCCCC;
        multiline = true;
        selectable = true;
        autoSize = false;
        wordWrap = true;
        textColor = 0x000000;
        html = true;
        styleSheet = s;
        htmlText = "pretext <a href='asfunction:my'>link</a>\n\n";
}
function my() {
        var f = new TextFormat();
        f.url = '';
        f.color = 0;
        txt.styleSheet = null;
        txt.setNewTextFormat(f);
        txt.styleSheet = s;
        txt.htmlText = 'new text <a href="#">test</a>';
}

А вообще забавно, если последние две строки в функции поменять местами, то новый htmlText не будет присваиваться. Косяк на косяке багом погоняет :D
А вообще да, проще поле снести к черту.

flash33 10.03.2007 00:46

псевдопротокол asfunction "заточен" под взаимодействие с браузером, вписывание его в тег <a> есть не что иное, как вызов функции getURL. Если вы посмотрите свои глючные примеры в Publish Preview -> HTML, то всё встает на места :)

iNils 10.03.2007 01:06

Причем тут getURL и что я должен увидеть в Publish Preview -> HTML?

etc 10.03.2007 02:25

flash33, ты тему вообще читал, а?

Kinsler 10.03.2007 03:09

Код:

var txt:TextField = this.createTextField("txt", 2, 10, 10, 200, 200);

with (txt) {
    background = true; backgroundColor= "0xCCCCCC";
    multiline = true; selectable = true;
    autoSize = false; wordWrap = true;
    textColor = 0x000000; html = true;
    txt.htmlText = "pretext <a href='asfunction:my'>link</a>";
}


function my() {
        sd="my_text";
        txt.htmlText = "<b>new text</b>" + sd;
}

мда даже не знал....
после повторного нажатия текст жирным становитца....

etc 10.03.2007 03:11

Я уже накатал маляву об этом в блоге:
http://dev.etcs.ru/blog/shit/textfie...sheet_wonders/
Честно говоря, никогда не сталкивался с подобным (не было необходимости замены текста ни разу).

Kinsler 10.03.2007 03:16

мда, чудновато, тоже не сталкивался
на адобе ничего особо не сказно
http://www.adobe.com/support/flash/a...ionary073.html

kruasan 10.03.2007 14:15

Убрал "var txt:TextField = ":
Код:

this.createTextField("txt", 2, 10, 10, 200, 200);

with (txt) {
  background = true; backgroundColor= 0xCCCCCC;
    multiline = true; selectable = true;
    autoSize = false; wordWrap = true;
    textColor = 0x000000; html = true;
    htmlText = "pretext <a href='asfunction:my'>link</a>";
}


function my() {
        txt.htmlText = "<p>new text</p>";
}

Опубликовал под 7-й плеер.
Баг отсутствует.

etc 10.03.2007 14:23

Ну значит это проблемы восьмерки.


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

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