Как быть с событиями onclick и вложенными элементами?

Такая ситуация
<div onclick="func_a();">
    <div onclick="func_b();"></div>
</div>

При клике на func_b, сработает func_a, как поступить, чтобы все было "как надо"?
Только вынести дочерние элементы из родительского или есть варианты по проще?
  • Вопрос задан
  • 3863 просмотра
Решения вопроса 3
GeneMoss
@GeneMoss
void
<div onclick="func_a()">
    <div onclick="func_b(event)"></div>
</div>
<script type="text/javascript">
    function func_a() {
        alert('a');
    }
    function func_b(e) {
        e.stopPropagation();
        e.cancelBubble = true; // для IE
        alert('b');
    }
</script>

Читать подробнее:
https://developer.mozilla.org/en-US/docs/Web/API/E...
https://msdn.microsoft.com/en-us/library/ms533545(...
Ответ написан
Комментировать
AMar4enko
@AMar4enko
Почитайте про "всплытие" событий и как его предотвратить программно.
Ответ написан
Petroveg
@Petroveg
Миром правят маленькие с#@&ки
Есть вариант прочесть про события, про его фазы, про метод события stopPropagation(), а также перестать использовать атрибуты событий там, где это не нужно.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы