![]() |
создание произвольного количества кнопок и прослушивание их событий
Вопрос хоть и ламерский, но ответа найти не могу((
вообщем есть у меня много элементов, типа пользователи и у каждого есть своя кнопочка, как можно все эти кнопки вывести на показ и отслеживать события происходящие при их нажатии вот что я придумал есть массив с пользователями, ники, ip, прочая фигня туда же добавляем кнопки для каждого свои далее перебераем нужные мам элементы и рисуем кнопки на экране, дальше промблемма(( как сделать так что бы можно было каждой кнопке своего слушателя назначить , как динамически создать функции с разными именами. |
Сделай одного слушателя и кастомное событие, куда будет передеваться идентификатор конкретного пользователя либо другая нужная информация.
|
kelod, зачем Вам разные обработчики? Вы собираетесь делать разные действия с пользователями?
Stitch512, зачем создавать кастомное событие, если ссылка на кнопку есть в обычном MouseEvent? Кастомный MouseEvent Вы не создадите, а если надо просто передать айдишник кнoпки/юзера, то есть дефолтный DataEvent. |
Иногда удобнее в событие передать необходимые данные для обработки, чем получать их потом на строковому идентификатору, но если необходимости в этом нет то да, можно и дефолтным событием. Вообще зависит от задачи, но я абстрактным событиям типа MouseEvent предпочитаю пользовательские, меньше телодвижений для получения нужной информации в обработчике.
|
"Абстрактные события"? Не, не слышал. Событие без реализации, без экземпляра?
"событиям типа MouseEvent предпочитаю пользовательские" – боюсь только, InteractiveObject не разделяет Ваших вкусов. Расскажите, как Вы ловите клик по объекту, не подписываясь на MouseEvent? |
я всё равно сто то не пойму, если сделать 1 событие на несколько кнопок, как я узнаю которая нажата? не могли бы Вы привести примерчик кода, хотя бы приблизительный
|
узнать, какая нажата кнопка, можно с помощью свойства currentTarget объекта MouseEvent.
Код AS3:
|
кажется разобрался, присвоил кнопкам имена и теперь можно их через currentTarget.name различать)
|
совершенно верно.
А вот так можно к любому объекту обратиться по имени Код AS3:
|
Код AS3:
|
| Часовой пояс GMT +4, время: 02:25. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.