Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.06.2012, 17:54
svs svs вне форума
Интересующийся
Отправить личное сообщение для svs Посмотреть профиль Найти все сообщения от svs
 
Регистрация: 25.04.2012
Сообщений: 18

Одновременная работа нескольких виджетов
У меня на странице есть 2 виджета.
Первый ничего не знает о существовании второго. Второй не знает о первом.
В качестве примера возьмем первый - аккордион. Второй - попап-диалог.
Закрыть попап можно по нажатию на Х внутри попапа или на клик по свободному пространству.
Так вот.
У нас есть баинд клика на заголовок аккордиона, какой его сворачивает или разворачивает. и тригер клика по свободному пространству.
Когда попап открыт и мы кликаем на аккордеон, срабатывает сразу два тригера. А нам нужно в таком случае выполнить тригер того виджета, о котором мы не знаем. Ведь на месте аккордиона может быть любой другой виджет.
Ответить с цитированием
  #2 (permalink)  
Старый 12.06.2012, 18:36
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от svs
Когда попап открыт и мы кликаем на аккордеон, срабатывает сразу два тригера. А нам нужно в таком случае выполнить тригер того виджета, о котором мы не знаем. Ведь на месте аккордиона может быть любой другой виджет.
Виджет аккордеона (или иного виджета вместо него) - обрамите div - блоком с запасом
он и будет тем свободным пространством, на которое, по-клику должен будет реагирует триггер cворачивания аккордеона

И данное пространство под первым виджетом исключить проверкой внутри кликера попап

Последний раз редактировалось Deff, 13.06.2012 в 00:06.
Ответить с цитированием
  #3 (permalink)  
Старый 12.06.2012, 20:41
Профессор
Отправить личное сообщение для beard Посмотреть профиль Найти все сообщения от beard
 
Регистрация: 08.05.2012
Сообщений: 264

Сообщение от Deff
Виджет аккордиона (или иного виджета вместо него) - обрамите div - блоком с запасом
он и будет тем свободным пространством, на которое реагирует триггер cворачивания аккордеона

Данное пространство исключить проверкой внутри кликера попапа
или мне кажется или ты в какой раз советуешь чушь? иногда и по делу )


по теме:
здесь нужен конкретный пример как все устроено, если закрытие попапа завязано на клик корневого элемента тогда у неизвестно виджета нужно останавливать всплытие события, если другие варации то лучше смотерть куда то, а то можно гадать долго и нудно.

Последний раз редактировалось beard, 12.06.2012 в 20:50.
Ответить с цитированием
  #4 (permalink)  
Старый 12.06.2012, 21:54
Аспирант
Отправить личное сообщение для svs_js Посмотреть профиль Найти все сообщения от svs_js
 
Регистрация: 06.05.2012
Сообщений: 31

а вот в том и вопрос как у неизветсного виджета запретить всплытие событий
Ответить с цитированием
  #5 (permalink)  
Старый 12.06.2012, 22:10
Профессор
Отправить личное сообщение для beard Посмотреть профиль Найти все сообщения от beard
 
Регистрация: 08.05.2012
Сообщений: 264

можно описать более яснее было и показать реальный пример где используется половина вопросов с выносом мозга

http://learn.javascript.ru/bubbling-...сплытия
Ответить с цитированием
  #6 (permalink)  
Старый 12.06.2012, 22:14
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

svs_js,
Выложите код с двумя виджиками - мну поправит
Или ссылку на страницу
Ответить с цитированием
  #7 (permalink)  
Старый 12.06.2012, 22:15
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от svs_js
как у неизветсного виджета
У неизветсного виджета Будет известная область размещения ? (или тож самое у popap) ?
Ответить с цитированием
  #8 (permalink)  
Старый 13.06.2012, 18:34
svs svs вне форума
Интересующийся
Отправить личное сообщение для svs Посмотреть профиль Найти все сообщения от svs
 
Регистрация: 25.04.2012
Сообщений: 18

код, к сожалению, выложить не могу...

у виджетов область размещения неизветсна ))
Ответить с цитированием
  #9 (permalink)  
Старый 13.06.2012, 18:50
svs svs вне форума
Интересующийся
Отправить личное сообщение для svs Посмотреть профиль Найти все сообщения от svs
 
Регистрация: 25.04.2012
Сообщений: 18

и у меня еще 1 вопрос

так же есть 2 виджета.
Первый - Таблица. При клике на строку изменяется ее фон. Тоесть таким способом активной может быть только 1 строка. И есть скрытый инпут, где хранится Айди выделенной строки. Выделение со строки можно убрать, кликнув по ней второй раз.

Второй виджет - Попап. Вызывается при клике по строке.
При повторном клике на эту же строку попап закрывается. Попап можно так же закрыть при клике на Х внутри самого попапа.

Так же виджеты ничего о друг друге не знают. Так как вместо попапа может быть любой другой виджет. И что мы получаем:

1. Выделяем строку. Инпут Хайден меняет свое значение, которое = айди строке. и уже при повторном нажатии на эту же строку попап закроется и значению инпута присвоится 0.
А если мы попап закроем по нажатию на Х. Значение скрытого инпута не изменится, но попап закроется. и при повторном нажатии на эту же строку попап не откроется, но скрытый инпут станет = 0. Если еще раз нажмем на эту строку, откроется попап.
Тоесть приходится делать лишний клик. Может кто-то посоветует, как вот делать такие виджеты, какие работают друг с другом. Заранее спасибо. Это очень интересный вопрос. В интернете о таком ничего не могу найти.
Ответить с цитированием
  #10 (permalink)  
Старый 13.06.2012, 18:51
svs svs вне форума
Интересующийся
Отправить личное сообщение для svs Посмотреть профиль Найти все сообщения от svs
 
Регистрация: 25.04.2012
Сообщений: 18

Если что-то может не понятно, я могу более конкретно описать какой-то момент. Код, к сожалению, выложить не могу.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программист JavaScript постоянная удалённая работа. moisha Работа 4 26.10.2011 19:52
Постоянная работа / Front-end / Москва kooper Работа 4 29.09.2011 22:06
Это работа, за неё нужно платить деньги... Kolyaj Оффтопик 20 25.01.2011 20:44
Создание виджетов. Выбор решения. m00 Общие вопросы Javascript 1 15.04.2010 04:27