Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 04.12.2010, 15:07
Dukobpa3 вне форума Посмотреть профиль Отправить личное сообщение для Dukobpa3 Найти все сообщения от Dukobpa3
  № 1  
Ответить с цитированием
Dukobpa3
 
Аватар для Dukobpa3

блогер
Регистрация: Oct 2010
Адрес: Киев
Сообщений: 1,678
Записей в блоге: 12
Отправить сообщение для Dukobpa3 с помощью Skype™
По умолчанию Контейнер прехватывает клики чилда

Есть вот такая конструкция:


Это заголовок аккордеона. Соответственно он является кликабельным. А вот это справа на нем тоже две кнопки. Хотелось бы чтобы и они были кликабельными Но не получается. Битый час лажу по форуму ниче найти не могу (но вроде как видел похожую тему).

При клике на одной из маленьких кнопок - просто сворачивается-разворачивается панелька аккордеона (тюею отрабатывается "большой" клик). А у маленьких кнопок ни маусовер не работает ни маусклик.

Нарыл что-то про stopPropagation, но или не до конца разобрался, или это не для моего случая.

Старый 04.12.2010, 16:20
Reon вне форума Посмотреть профиль Отправить личное сообщение для Reon Найти все сообщения от Reon
  № 2  
Ответить с цитированием
Reon
 
Аватар для Reon

Регистрация: Oct 2005
Сообщений: 97
Все верно, две кнопки справа - внутри кликабельного заголовка аккордеона, поскольку он подписан на события мыши - он все перехватывает. Я сделал бы следующим образом, снял обработчик события с него, залез внутрь заголовка, сделал бы подложку мувиком и ловил бы клик на ней, две кнопки соответственно выше подложки и будут получать события мыши. Если у вас все на диспетчерах, то переписывать код аккордеона не придется.

Старый 05.12.2010, 00:10
Dukobpa3 вне форума Посмотреть профиль Отправить личное сообщение для Dukobpa3 Найти все сообщения от Dukobpa3
  № 3  
Ответить с цитированием
Dukobpa3
 
Аватар для Dukobpa3

блогер
Регистрация: Oct 2010
Адрес: Киев
Сообщений: 1,678
Записей в блоге: 12
Отправить сообщение для Dukobpa3 с помощью Skype™
Короче, сделал так:

Для данной задачи как по мне - то оптимальное решение, и ошибки юзабилити отсутствуют, а то как-то кнопка на кнопке не совсем по правилам построения интерфейсов

А про события надо бы теории подчитать видимо.....

Старый 05.12.2010, 03:28
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 4  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Хм.
Хедер окна в Виндос - кликабельный. При этом на нем три кнопки и иконка-кнопка (просто ближайший пример). Нет такого "правила построения интерфейсов". И понимание событий тут не совсем при делах. Скорее надо разобраться с дисплей-листом. Даже если холодильник стеклянный - все равно надо открыть дверцу, чтобы достать сгущенку. Но если сгущенка стоит на столе на фоне холодильника, то можно и дверцу открывать, и сгущенку лопать. Если деньги в бумажнике - вы не можете положить их на стол, вы кладете бумажник. Вы совершаете действие с контейнером. Откройте контейнер (снимите с него мышиные слушатели) - и можете располагать всеми купюрами как хотите.
__________________
Reality.getBounds(this);

Старый 05.12.2010, 04:08
Dukobpa3 вне форума Посмотреть профиль Отправить личное сообщение для Dukobpa3 Найти все сообщения от Dukobpa3
  № 5  
Ответить с цитированием
Dukobpa3
 
Аватар для Dukobpa3

блогер
Регистрация: Oct 2010
Адрес: Киев
Сообщений: 1,678
Записей в блоге: 12
Отправить сообщение для Dukobpa3 с помощью Skype™
Насчет хедера окна таки да, это загнался. Но всё-таки для этой задачи мое решение подходит. Ну не важно, вопрос решен...

Цитата:
Сообщение от Wolsh
Откройте контейнер (снимите с него мышиные слушатели)
Но мне то всё-равно надо чтобы клики по хедеру работали, чтобы аккордеон панельку сворчивал и разворачивал. Но кроме этого на этом хедере еще кнопки висят.

//*********************
Хотя только что пока отвечал дошло ваше сообщение
Цитата:
- до вас письмо дошло
- пять раз перечитал, а всё-равно не дошло.
Можно сворачивание/разворачивание вешать не на хедер. Оставить хедер в роли контейнера. Влепить ему маску - какой-то прозрачный/полупрозрачный спрайт, на маску слушатель для сворачивания. А на кнопки свои слушатели.

Получится хедер как контейнер в котором равноправные элементы, которые не будут перекрывать друг друга:
- маска - ловит основной клик по хедеру
- кнопка1 - ловит свои клики
- кнопка2 - ловит свои клики

И получится типа сгущенка перед хододильником
- маска-холодильник,
- перед ней кнопка-схущенка,
но связи никакой между ними нет, кроме того что они находятся в одной комнате (контейнере)...

Старый 05.12.2010, 05:58
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 6  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Точно. Только слово "маска" не надо использовать здесь - создает еще одну запутанность. У вас просто маленькие кнопки на фоне большой. И все в одном контейнере, который сам неактивен ("комнате")))
__________________
Reality.getBounds(this);

Старый 05.12.2010, 06:16
Dukobpa3 вне форума Посмотреть профиль Отправить личное сообщение для Dukobpa3 Найти все сообщения от Dukobpa3
  № 7  
Ответить с цитированием
Dukobpa3
 
Аватар для Dukobpa3

блогер
Регистрация: Oct 2010
Адрес: Киев
Сообщений: 1,678
Записей в блоге: 12
Отправить сообщение для Dukobpa3 с помощью Skype™
Собственно то же самое и Reon говорил
Его сообщение теперь тоже дошло

Reon, Wolsh, спасибо за помощь))

Создать новую тему Ответ Часовой пояс GMT +4, время: 12:43.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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