![]() |
проблемы e.target.name
Здравствуйте! Проблема в следующем: создал два экземпляра одного класса Btn
Код AS3:
Код AS3:
Код AS3:
Код AS3:
|
Имена переменных, в которые вы записываете ссылки на ваши кнопки, никак не связаны со свойством name.
ps: Капслоком принято именовать константы, а никак не функции. |
Видимо кнопка сложная и клик идёт по внутренней её части.
Попробуйте вместо e.target использовать e.currentTarget. Но он не нужен Потому что: Цитата:
Сделайте 2 слушателя - это не старая Java - здесь это не увеличит объемы байткода так драматически: Код AS3:
Цитата:
|
Цитата:
Цитата:
|
Цитата:
Тут дело в том что это за кнопки И тут важны 2 случая: 1. Действие каждой кнопки уникально, т.е. кнопки делают разные вещи. Здесь их хоть 50 будет на экране - лучше создать 50 обработчиков Просто потому что с if-ами дело ничем хорошим не кончится. Если есть какие-то одинаковые куски кода - лучше вынести в другие функции и дёргать в обработчиках Разные действия - разные функции - тупая логика. Зачем здесь приделывать if-ы к тем же разным действиям? 2. Каждой кнопке сопоставлено какое-то значение Например, числовые кнопки в стандартном калькуляторе Windows (1,2,3,4,5,6,7,8,9,0) Конечно, нажатие на всё эти кнопки обрабатывается одинаково и нам важно получить только цифру Тогда да, делается 1(один) обработчик на 10 кнопок. Как он получает нужную цифру? Путей несколько: http://www.flasher.ru/forum/blog.php?b=239 И, заметьте, _большинство_ подходов к "передаче параметра" не поразумевают if-ы или свитчи. Т.е. обработчик просто берёт данные (в этом примере цифру) и делает с ними то, что нужно, не выясняя что за кнопка нажата. P.S. А с event.currentTarget при текущем состоянии кода заработало? |
Цитата:
Код AS3:
|
Спасибо всем за помощь! Буду пробовать!:)
|
Что-то тут много чего напостили, а самого простого и логичного варианта не предложили.
Если обработчик события и объявления кнопок находятся в одном классе, то можно так: Код AS3:
|
Можно и варварским методом, присвоить явно.. ))
Код AS3:
|
Цитата:
Добавлено через 1 минуту Цитата:
Добавлено через 3 минуты Цитата:
P.S. Кнопка и правда "сложная", может по этой причине... Добавлено через 8 минут expl, и еще хотел узнать, почему использовать в таком случае логику неправильно? То есть, какое преимущество дает свой собственный слушатель события? |
| Часовой пояс GMT +4, время: 14:42. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.