![]() |
|
||||||||||
|
|||||
|
Регистрация: Jul 2012
Сообщений: 112
|
Просмотрел множество сайтов и, кажется, понял, но вот для закрепления решил спросить на примере такой ситуации, так сказать на пальцах: есть прямоугольник и в нем объект, получается при получении события этим объектом currentTarget - это ссылка на этот прямоугольник, а target - это ссылка на объект?
|
|
|||||
|
currentTarget это объект на котором был зарегистрирован слушатель. Так что если слушатель был добавлен именно к этому прямоугольнику, то currentTarget будет ссылкой на этот прямоугольник, а уже от него событие может всплывать дальше по иерархии, и там уже ловятся target'ы
А для не дисплей объектов target и currentTarget всегда совпадают Вообще, у Колина Мука это довольно хорошо описано в 12 главе. Последний раз редактировалось caseyryan; 26.02.2013 в 22:01. |
|
|||||
|
Регистрация: Jul 2012
Сообщений: 112
|
вот как раз ее читаю сейчас и именно на currentTarget наступил застой(
|
|
|||||
|
Значит понимание прийдет позже. Не все понятно с первого раза. И ничего страшного в этом нет
А тема событий все-таки довольно сложная для понимания новичком. Учитывая еще то, что если это русскоязычный вариант книги, то как раз в этой главе есть ужасные неточности в переводе |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
currentTarget указывает на объект, к которому Вы подписывались.
То есть, если Вы писали mc.addEventListener(...), то currentTarget будет указывать на mc и ни на что другое. А target указывает на объект, непосредственно "родивший" событие. Потому что currentTarget может быть не родителем, а только передатчиком события, одним из звеньев цепи "всплытия" события, не обязательно первым (target) и не обяззательно последним. Допустим этот mc — экземпляр Sprite. Если в нем не содержится никаких интерактивных детей, а просто нарисован прямоугольник в его собственном графиксе, то при клике по этому спрайту target и currentTarget будут совпадать — сам родил, сам передал. Если же в этот спрайт-контейнер будет добавлен другой интерактивный объект, скажем другой спрайт с графикой, и Вы кликаете над этим внутренним спрайтом, то родителем события будет он. Но слушаете то Вы внешний спрайт, и получаете событие от него. Поэтому target и currentTarget будут указывать на разные спрайты, на внутренний и внешний соответственно.
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
|
Я бы все-таки еще упомянул про mouseChildren. Тоже влияет.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 20:01. |
|
|
« Предыдущая тема | Следующая тема » |
| Теги |
| currentTarget |
|
|