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

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

При клике на func_b, сработает func_a, как поступить, чтобы все было "как надо"?
Только вынести дочерние элементы из родительского или есть варианты по проще?
  • Вопрос задан
  • 3806 просмотров
Решения вопроса 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(), а также перестать использовать атрибуты событий там, где это не нужно.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
20 апр. 2024, в 13:56
7000 руб./за проект
20 апр. 2024, в 13:52
7000 руб./за проект
20 апр. 2024, в 13:23
1000 руб./за проект