| Здравствуйте,
Так уж получилось, что спустя год после создания прошлой однотипной темы столкнулся с новой проблемой из того же разряда. И решить её элегантно и по-простому не получается. Начну по-порядку.
Необходимо, чтобы слой скрывался при щелчке не на нём.
Предыдущая моя тема по проблеме:
http://softtime.ru/forum/read.php?id_forum=4&id_theme=67068&page=1
Просто всё работает хорошо и прекрасно. Простое и удобно. Если щелчок произведён по слою, то он не скрывается, а если за его пределами, то скрывается.
Но так получается, что в новом проекте, который я сейчас делаю, слой, который надо скрывать содержит внутри себя ещё слои и др. элементы (<form>, <span> и т.д.). И если произвести щелчок по слою, то он скрывается. Выяснил, что это происходит в связи с тем, что дочерние элементы имеют отличные ID от того блока, который мы проверяем (что само собой естественно), поэтому при сравнении e.id != 'ид_слоя' (см. тему выше) получается true и выполняется условие, скрывающее слой.
Я так понимаю, что условие на скрытие нужно производить таким образом, что при каждом щелчке проверять, а не был ли произведён щелчок на нужном слое или на одном из его дочерних элементов? Звучит понятно и просто, но реализовать не получается :( Или есть более простое решение?
К сожалению сразу говорю, что каждому дочернему элементу свой ID присвоить не представляется возможным. Дочерних элементов может быть очень много.
Надеюсь, что я смог понятно объяснить ситуацию, потому что голова сейчас забита поиском решения и поток мыслей очень сбивчивый. Любые вопросы по теме задавайте - отвечу.
Заранее большое спасибо, сам уже парюсь над простым вариантом решения (а он наверняка есть!), осталась надежда лишь на Вас. Поиск результатов не дал :( | |