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

AlexLucas 19.09.2012 19:10

Индекс первого видимого символа
 
Есть текст поле tf, где multiline = true.
Перехватываю TextEvent.TEXT_INPUT и пытаюсь определить индекс первого видимого символа, ведь текста может быть больше чем поместится в текст поле и он проскролиться, и индекс первого элемента может будет не 0.

Пытаюсь использовать
Код AS3:

tf.addEventListener(TextEvent.TEXT_INPUT, charPos);
 
private function charPos(e:TextEvent) {                                               
                          trace(' char pos : ' + (tf.getCharIndexAtPoint(1,10))); //1 и 10 чтобы доставало до первого 
                                                                                                    //символа по х и у
                        }

Но дело в том что мне выводит позицию предыдущего первого символа, т.е. если я вставлю текст в чистое текст поле, который не поместится целиком и проскролится, то мне выведет '0', что не соответствует действительности, и уже когда в след. раз поймает событие, выдаст мне верную позицию опять же для предыдущего "первого" символа, итд итп.
Чувствую что я это делаю как-то через "одно место", может есть метод получше? И который работает :)

caseyryan 19.09.2012 19:13

Это можно решить использованием не TextEvent.TEXT_INPUT, а KeyboardEvent.KEY_UP
т.е. проверять введенный текст сразу после того, как он уже введен

Первый случай всегда будет выдавать предыдущий символ


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

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