![]() |
как отключить мышь у всего стейджа?
Сабж.Несмотря на то, что стейдж - контейнер, код
Код AS3:
Цитата:
|
Кэп мне тут подсказывает: добавь сверху прозрачный спрайт во всю сцену)
|
не, у меня есть класс для попапов, которые автозакрываются при клике вне попапа.Для этого вешается лисенер на стейдж.Вот хотелось бы пока идет подгрузка данных для попапа отключить автозакрывалку.Спрайт на весь экран тут не поможет.
Добавлено через 3 минуты Самое интересное,что свойство существует,но его зачем-то переопределили |
Снимай листенер со стейджа, когда нужно отключить автозакрывалку.
|
Вот не хотелось бы.Попап о своем контенте ничего не знает.Но если стейдж не отключить никак, придется ввести эту зависимость.
|
А тот, кто делает stage.mouseChildren = false, он же знает про контент. Можно там листенер снимать со стейджа.
|
у попапов почти всегда есть оверлей по размеру экрана. прозрачный или нет - это уже вам решать, но снимать слушатели со всех кнопок слоя ниже - явно занятие безинтересное) Соответственно слушать клик на оверлей, а там уже от типа окна вызывать closeMe или нет
|
это верно если попап модальный, что бывает не всегда
Решил проблему геттером isBusy у контента, который попап проверяет и решает закрываться или нет. |
Как по мне, так этот способ - более костыльный, чем добавление прозрачного спрайта.
Лучше сделай у своих попапов свойство container которому присваивай значение не сцены, а документ класса. По сути, какая тебе разница, будет он добавляться на stage или в документ-объект. Зато у документ объекта ты можешь запросто сделать mouseEnabled = false |
Цитата:
Каким образом он предотвратит получение мышинных событий контейнером? |
Цитата:
|
Видимо, имелось в виду не контейнером, а стейджем. Можно попробовать ловить события заглушкой и делать stopPropagation(); Ну или смотреть от кого пришел клик, если от заглушки, то ничего не делаем.
|
Цитата:
баблинг |
При чем тут бабблинг?) Ты ставишь спрайт, у которого прозрачная заливка во весь размер сцены, поверх всего. Он принимает все щелчки. Или ты думаешь, что я так не делал и просто так это ляпнул? Это отлично работает и в простом флеше и в старлинге. Большая часть попапов именно так и сделана
Но если тебе не нравится идея со спрайтом, то есть еще два варианта. Первый из них я уже написал Цитата:
Так я тоже делал, и этот вариант тоже 100% рабочий |
Кейси, у человека Стейдж подписан на события. Он спрашивает тебя, каким образом добавление в этот Стейдж еще одного объекта заставит Стейдж не принимать события мыши.
|
Цитата:
Добавлено через 20 минут Цитата:
|
Цитата:
|
Цитата:
происходит закрытие попапа, поэтому останавливать событие нет необходимости. Добавлено через 12 минут Цитата:
|
Цитата:
|
что-то я совсем запутался
Код AS3:
Цитата:
|
Цитата:
|
Цитата:
(У меня рут гасится, если что, вот так — и даже input-текстфилды не выделяются: Код AS3:
Цитата:
|
| Часовой пояс GMT +4, время: 11:24. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.