Помощь · Поиск · Пользователи · Календарь
Полная версия этой страницы: 300 спарт... текстфилдоф
Flash Zone Forum > Macromedia Flash > ActionScript
d0x0b
Есть мувик, в нём около 300 текстфилдов. Нужно, при изменении любого текстфилда узнать его имя (что-то типа одного события onChange, но на все текстфилды).
Т.е. внутри мувика ввожу в текстфилд символ и на основной форме, допустим, отображается имя текстфилда.
Заранее благодарен.
HaWK
На AS3 делаете ?
chingachgoog
Цитата(d0x0b @ 18.04.2011 - 07:54) *
что-то типа одного события onChange, но на все текстфилды


Так надо навесить ОДНО событие (функцию-обработчик) на все текстфилды.
В более общем случае можно сделать и так:

Код
TextField.prototype.onChanged=function(){
    trace(this._name+" изменен")
}
d0x0b
Учусь на АС2.

Можно более развернутый ответ, пожалуйста.

Какое событие навесить?
и куда писать код с прототипом ?
HaWK
Цитата
и куда писать код с прототипом ?

Куда хотите, можете на главном таймлайне.

Цитата
Какое событие навесить?

Событие onChanged вешается на все текстфилды, т.е. не только которые вам нужны, а на ВСЕ.
chingachgoog
Цитата(d0x0b @ 18.04.2011 - 13:39) *
Какое событие навесить?


Код
function myChanged(){
    trace(this._name+" изменено")
}

tf1.onChanged=myChanged
tf2.onChanged=myChanged
...
tf300.onChanged=myChanged


Разумеется, лучше делать это через цикл.
d0x0b
Спасибо ребята
MustLive
Цитата
Разумеется, лучше делать это через цикл.

При большом количестве текстовых полей, особенно если их 300, естественно лучше это делать через цикл. И о том, как делать такие циклы, как задавать имена переменных с индексом мы многократно писали на форуме. Так что d0x0b, при необходимости, найдёт нужную информацию. И повесит в цикле обработчик на свойство onChanged любого количества тестовых полей.
Русская версия IP.Board © 2001-2013 IPS, Inc.