Форум 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)
-   -   Можно ли создать слушатель для динамически созданных кнопок (http://www.flasher.ru/forum/showthread.php?t=111396)

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 при написании кода в кадре в проыцессе компиляции объявления функций перемещаются в начало кода, потому и можно.

iNils 24.04.2008 15:39

Цитата:

Сообщение от garold08 (Сообщение 735263)
вот у меня ещё вопрос по ходу возник
если структурно писать на PHP то там сначала идет объявление функции, а после её вызов и ни как подругому. В Actionscript можно вызвать и перед объявлением (Опытно доказано), но в данном случае почему то не работает.

Только для
Код:

function a () {
}

а для литерала это не работает
Код:

a = function () {
};

А у вас именно литерал, поэтому сначал надо создать, а потом использовать.

garold08 24.04.2008 15:45

Литерал функцию вызывает...
А в целом начало работать, так что видать была опечатка в коде

А всё-таки слушатель можно использовать в этом случае или нет?


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

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