Просмотр полной версии : Можно ли создать слушатель для динамически созданных кнопок
garold08
24.04.2008, 14:55
Во время выполнения скрипта создаются кнопки которым присваевается идентификатор. Если прописываю в on(press){get_xml(id)} то функция не вызывается так как находится ниже в тексте (Или ещё из за чегото). Может можно создать слушатель событий для этих кнопок. Если можно то опишите как.
DarkLight
24.04.2008, 15:04
имяКнопки.onPress = function():Void{
//действия
//Только учтите, что this здесь указывает на кнопку, в отличие от on()
}
P. S. on() и onClipEvent не рекомендуются к использованию уже начиная с 2000 (!) года
garold08
24.04.2008, 15:09
Прошу прощение за не точность но я именно так и сделал имяКнопки.onPress = function()
И не работает
DarkLight
24.04.2008, 15:11
Вообще ничего не работает или функция не вызывается? если в тело функции проставить trace он выполняется? Если да, проверьте области видимости. Если нет, проверьте правильность имени и не находится ли кнопка внутри другой, которая перехватывает onPress.
garold08
24.04.2008, 15:14
вот у меня ещё вопрос по ходу возник
если структурно писать на PHP то там сначала идет объявление функции, а после её вызов и ни как подругому. В Actionscript можно вызвать и перед объявлением (Опытно доказано), но в данном случае почему то не работает.
garold08
24.04.2008, 15:16
Трасе вызывается с нужными параметрами
если написать функцию которая будет стоять выше в коде и вызывать ее то всё работает. Но я хочу покомпактнее.
DarkLight
24.04.2008, 15:32
В as при написании кода в кадре в проыцессе компиляции объявления функций перемещаются в начало кода, потому и можно.
вот у меня ещё вопрос по ходу возник
если структурно писать на PHP то там сначала идет объявление функции, а после её вызов и ни как подругому. В Actionscript можно вызвать и перед объявлением (Опытно доказано), но в данном случае почему то не работает.
Только для
function a () {
}
а для литерала это не работает
a = function () {
};
А у вас именно литерал, поэтому сначал надо создать, а потом использовать.
garold08
24.04.2008, 15:45
Литерал функцию вызывает...
А в целом начало работать, так что видать была опечатка в коде
А всё-таки слушатель можно использовать в этом случае или нет?
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.