Почему не сработал hasClass?
Пример мини-кода:
Пример мини-кода:
@Oleg Ponomarchuk, омг. По клику вызывается событие. Вызывается на самом нижнем элементе и ползет по дереву вверх, этакая забавная виртуальная каракатица, стремящаяся к полному освобождению через всплывание до document и выше. Чтобы прибить любой элемент документа, можно повесить, как я показал, обработчик на самый верхний уровень, и через этот единый обработчик ловить все события-клики в документе. После отлова каракатицы кликнутый элемент определяется по e.target
. Больше e.target
нигде не нужен, вообще, он нужен только для того, чтобы словленное на верхнем уровне событие указало на тот элемент, по которому кликнули.
Чтобы избавить от такой участи .extend-wrapper
(я специально не буду писать кэмелкейсом, потому что это плохая практика, хорошо?) и его детей, достаточно перехватить событие и не давать ему всплыть. Что и делает вызов e.stopPropagation()
, повешенный в обработчик на .extend-wrapper
- он приказывает событию прекратить распространяться вверх (вообще еще есть распространение вниз, но я уснул на той главе), предотвращая таким образом срабатывание обработчика клика на верхнем уровне - до него событие просто не дойдет. Ничего определять уже не нужно. Если событие отловилось, значит оно уже совершено на .extend-wrapper
или одном из его дочерних элементов, просто надо остановить его.
Такая уж участь у бедной каракатицы.