Не могу понять что не так. Вроде запретил всплытие события, но "не работает".
Под всплытием имею ввиду, что от потомка события передаются родителям и т.д. Так вот, мне нужно чтоб события выполнились только у потомка и на нем все закончилось.
В результате хочу получить клик по "header-mobile-menu". Клик по "mobile-layer" НЕ должен считаться как клик по "header-mobile-menu".
Привожу пример с песочницы - [jsfiddle][1]
<div class="header-mobile-menu">
<div class="mobile-layer">123</div>
</div>
$('.header-mobile-menu').click(function (event) {
event.stopPropagation();
alert(123);
});
Спасибо!
События "всплывают" от детей к родителям. Вызов event.stopPropagation(); должен быть в обработчике события внутреннего элемента.
$('.mobile-layer').click(function(event) {
event.stopPropagation();
console.log(123);
});
$('.header-mobile-menu').click(function(event) {
console.log(456);
});
.header-mobile-menu {
border: black solid 1px;
background: lightgreen;
padding: 30px;
}
.mobile-layer {
border: black solid 1px;
background: lightpink;
padding: 10px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="header-mobile-menu">
<div class="mobile-layer">123</div>
</div>
Продвижение своими сайтами как стратегия роста и независимости