archakov06
@archakov06
Frontend-разработчик (ReactJS)

Как запретить вызов функции главного элемента?

Имеется к примеру элемент:
<div class="hello" onclick="func();">
<span>Hello World!</span>
<span onclick="world();">CLICK!</span>
</div>


Я кликаю на CLICK! и вызывается функция моя и hello();. Как запретить вызов функции hello(); если я кликнул по CLICK!?
  • Вопрос задан
  • 389 просмотров
Решения вопроса 2
Это называется event bubling.
Почитать об этом можно тут: хабр. Статья старая, но ничего с тех пор не особо не изменилось.
Если кратко:
клик на элементе по умолчанию передаётся всем его родителям в DOM дереве( отсюда и свойство bubling т.е. как пузырёк поднимается вверх по DOM дереву)
Чтобы этого не происходило - нужно в обработчике вызватьevent.stopPropagation()
Ответ написан
Комментировать
abyrkov
@abyrkov
JavaScripter
Event.stopPropagation
function hello(a){
a.stopPropagation();
//other code
};
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы