![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| Ripper |
|
|||
![]() Lonely soul... ![]() ![]() Профиль Группа: Участник Сообщений: 920 Регистрация: 30.6.2004 Где: г. Москва Репутация: нет Всего: 23 |
Здравствуйте.
Такая проблема - нужно сделать по кликну на иконку всплывающее окно. Если кликаем еще раз - оно гаснет. Если кликаем по любому элементу на странице - оно тоже гаснет. И еще клик на иконку должен быть live, т.к. иконка подгружается в процессе. Попытка:
Но проблема в том, что когда кликаешь на иконку, то вызывается событие клика и на иконку и на body, и оно гаснет и снова появляется. Читал про stopPropagation но оно не работает для live =\ -------------------- "Он знает: надо смеяться над тем, что тебя мучит, иначе не сохранишь равновесия, иначе мир сведет тебя с ума" - Над кукушкиным гнездом |
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 38 Всего: 386 |
Можно даже и без лива обойтись. Можно по клику на .infoBox поставить таймаут на 10 ms и пока не тикнет таймаут - не гасить окна в клике по body. Хотя как-то странно, что stopPropagation не работает. Вроде должен.... Это сообщение отредактировал(а) ksnk - 23.12.2011, 23:56 -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| krundetz |
|
|||
![]() Вечный странник ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1400 Регистрация: 14.6.2007 Где: НН(Сормово) Репутация: 2 Всего: 69 |
Ripper, а может стоит взять готовое решение? подогнать только дизайн.
|
|||
|
||||
| Leshak |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 143 Регистрация: 19.10.2005 Репутация: нет Всего: нет |
Во-первых - не надо навешивать событие на body - чрева-то...
- когда-то, не разобравшись с всплытием событий я решал задачу как-то так 1 - изначально создаем div размером во все окно, отрицательным z-index и visibility = hidden' и умением при клике по нему, закрывать окошко над собой и себя 2 - при нужном клике делаем наш div видимым, а над ним показываем всплывающее окно вот.. и в качестве бонуса - нашему div можно нагрузить какой-нибудь фон и полу прозрачность... Это сообщение отредактировал(а) Leshak - 24.12.2011, 16:34 |
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 38 Всего: 386 |
Чем, например? -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| Ripper |
|
|||
![]() Lonely soul... ![]() ![]() Профиль Группа: Участник Сообщений: 920 Регистрация: 30.6.2004 Где: г. Москва Репутация: нет Всего: 23 |
ksnk, твой метод отлично работает, спасибо! Только вот я не что-то не могу пофиксить такую вещь - когда мы кликаем на само окошко, оно не должно закрываться.
окно соотвественно div, внутри какие то элементы типа таблиц кнопок итп. Ну я поставил еще условие else if($(e.target).is("#infoBox")) alert('infobox'); но оно срабатывает когда кликаешь именно по диву, а если например по таблице внутри то не срабатывает и окно закрывается -------------------- "Он знает: надо смеяться над тем, что тебя мучит, иначе не сохранишь равновесия, иначе мир сведет тебя с ума" - Над кукушкиным гнездом |
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 38 Всего: 386 |
e.target указывает непосредственно на элемент, на который кликает мышка. Нужно проверять его, и список его парентов
Это сообщение отредактировал(а) ksnk - 25.12.2011, 10:22 -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| Leshak |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 143 Регистрация: 19.10.2005 Репутация: нет Всего: нет |
ммммм...
Мой вариант игр с подложкой
Даже и не вспомню сейчас - просто были проблемы с неконтролируемыми событиями |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: Применение библиотек | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |