Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Простой вопрос. Событие на блоке внутри блока. (https://javascript.ru/forum/misc/65783-prostojj-vopros-sobytie-na-bloke-vnutri-bloka.html)

pifon 07.11.2016 18:48

Простой вопрос. Событие на блоке внутри блока.
 
Всем привет! Прошу помощи, что-то сам не смог найти ответа на свой вопрос:

Есть такая HTML структура:

<div id="parent" style="width: 400px; height: 400px;">
  <div id="children" style="width: 100px; height: 100px;">Бла бла</div>
</div>


Необходимо повесить такие события:

$('#parent').on('click', function() {
  alert('Hello');
});

$('#children').on('click', function() {
  alert('Bye');
});


То есть, чтобы при нажатии на #children не срабатывало событие, повешенное на #parent.

$('#children').on('click', function() {
  $('#parent').off('click')
  alert('Hello');
});


Код приведенный выше не помогает, да и не оч разумный, как мне кажется.

Помогите, пожалуйста, кто чем может? ))

Aetae 07.11.2016 18:50

https://learn.javascript.ru/event-bubbling
$('#children').on('click', function(event) {
  event.stopPropagation();
  alert('Bye');
});

pifon 07.11.2016 18:52

Как же все просто в этой чертовке - джейквере)) Спасибо!

fuckingquest 07.11.2016 19:11

pifon, намного проще сем в чистом JS?
children.onclick = function(event){
  event.stopPropagation();
  alert('Bye');
}


Часовой пояс GMT +3, время: 22:31.