![]() |
|
||||||||||
|
|||||
|
[+1 05.06.13]
Регистрация: Mar 2013
Сообщений: 42
|
Народ, есть код:
как можно программно изменить имя текстфилда analogTXT? пробовал так: Что то не выходит. Возможно ли это и как? |
|
|||||
|
Banned
[+1 27.05.13]
Регистрация: May 2013
Сообщений: 60
|
Непонятно, зачем тебе это.)))) Но это можно сделать так:
"analogTXT" - это имя ссылки. Соответственно, можно поменять ссылку текстового поля на любую другую. Последний раз редактировалось ProcXel.A; 27.05.2013 в 15:15. |
|
|||||
|
[+1 05.06.13]
Регистрация: Mar 2013
Сообщений: 42
|
Огромное спасибо, то что нужно.
Добавлено через 24 минуты а как поменять имя вызываемой функции checkA: Добавлено через 29 минут Если делаю так: Пишет ошибку, хотя функция NewFunc существует: |
|
|||||
|
Banned
[+1 27.05.13]
Регистрация: May 2013
Сообщений: 60
|
Что ты там делаешь вообще?))))) Функцию можно просто переименовать и всё.) Зачем тебе новые имена всего подряд? Может, есть более разумное решение. Расскажи, чего ты пытаешься добиться?
|
|
|||||
|
[+1 05.06.13]
Регистрация: Mar 2013
Сообщений: 42
|
Есть две функции и много слушателей которые при IF должны ссылаться либо на 1 функцию либо на 2.
Вот поэтому и надо изменить разом у всех слушателей имя функции при IF |
|
|||||
|
Banned
[+1 27.05.13]
Регистрация: May 2013
Сообщений: 60
|
Намного проще сделать что-нибудь типа такого:
button1.addEventListener(MouseEvent.CLICK, Click); button2.addEventListener(MouseEvent.CLICK, Click); button3.addEventListener(MouseEvent.CLICK, Click); button4.addEventListener(MouseEvent.CLICK, Click); //Много слушателей... function Click( e:MouseEvent ):void { if ( /*Условие.*/ ) { Func1(); } else { Func2(); } } function Func1():void {}; function Func2():void {}; |
|
|||||
|
[+1 05.06.13]
Регистрация: Mar 2013
Сообщений: 42
|
да, этот метод проще, но он не подходит.
Возможно ли как-нибудь изменить имя по-другому? |
|
|||||
|
Banned
[+1 27.05.13]
Регистрация: May 2013
Сообщений: 60
|
Немного теории.
Когда назначается слушатель методом То в слушатель передается не имя функции, а объект функции. Поэтому переназначить функцию слушателя вот так нельзя. В слушатель не добавится новая функция таким образом. Если тебе нужно изменить функцию слушателя, то тебе нужно удалить старый слушатель и повесить новый. var action:Boolean = true; btn.addEventListener( MouseEvent.CLICK, Click1 ); btn2.addEventListener( MouseEvent.CLICK, Change ); function Click1( e:MouseEvent ):void { trace( 1 ); } function Click2( e:MouseEvent ):void { trace( 2 ); } function Change( e:Event ) { if ( action == true ) { btn.removeEventListener( MouseEvent.CLICK, Click1 ); btn.addEventListener( MouseEvent.CLICK, Click2 ); } else { btn.removeEventListener( MouseEvent.CLICK, Click2 ); btn.addEventListener( MouseEvent.CLICK, Click1 ); } action = !action; } Последний раз редактировалось ProcXel.A; 27.05.2013 в 16:35. |
|
|||||
|
[+1 05.06.13]
Регистрация: Mar 2013
Сообщений: 42
|
а как удалить сразу всех нужных слушателей, чтобы не перечислять их по порядку?
|
|
|||||
|
Banned
[+1 27.05.13]
Регистрация: May 2013
Сообщений: 60
|
|
![]() |
![]() |
Часовой пояс GMT +4, время: 05:32. |
|
|
« Предыдущая тема | Следующая тема » |
|
|