Форум 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)

_serge_ 09.03.2007 19:49

TextField & asfunction
 
Суть проблемы: создается динамическое текстовое поле (html) туда заносится текст с сылками. При нажатии на ссылку изменяется содержимое текстового поля, НО при этом весь новый текст(вместе со своим форматированием) становится этой же ссылкой? В случае, если создать поле во Flash такого не наблюдается.


Примерный код:
Код:

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() {
        txt.htmlText = "<p>new text</p>";
}


etc 09.03.2007 20:05

Забавная штука. На перевод строки не реагирует.
Причем ссылку просто так не убить.
Только если выключить html. Ну или:

Код:

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>\n\n";
}
function my() {
        var f = new TextFormat();
        f.url = '';
        txt.setNewTextFormat(f);
        txt.htmlText = '<p>new text</p>';
}

Вот результат ковыряний.

_serge_ 09.03.2007 20:17

Если добавить css для ссылок, можно увидеть, что вставляемый текст форматируется соответствующим образом(даже если отключить html). Причем trace htmlText, TF.length показывают все правильно(((

iNils 09.03.2007 20:17

Забавный случай, причем url всегда неопределен у текст формата.

etc 09.03.2007 20:18

Я думаю, это связано с тем, что htmlText и TextFormat завязаны друг с другом. Можно считать это багом.

_serge_ 09.03.2007 20:34

Попробовал вроде бы все возможные манипуляции с TextFormat, styleSheet, результат отрицательный.

etc 09.03.2007 20:35

Я написал выше код, который убивает ссылку.

_serge_ 09.03.2007 20:44

Цитата:

Сообщение от __etc
Я написал выше код, который убивает ссылку.

Вопрос, а как убить общее форматирование ссылки при использовании styleSheet?

etc 09.03.2007 20:59

Мммммм.

Код:

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.htmlText = '<p>new text</p>';
}

Жесть полная. С убийством стилей. Но работает.

_serge_ 09.03.2007 21:19

Да, все это конечно здорово. Только проблема в том, что новый текст также может содержать html-форматирование, соответственно оно будет убито...


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

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