input внутри label. Особенность HTML.

Admin HTML, JavaScript

Событие при клике на HTML тег label с вложенным input срабатывает дважды.

Об этом полезно знать, чтобы правильно обрабатывать событие в JavaScript.

Особенность работы input внутри label в том, что при клике на поле инпут один раз, срабатывает так будто было 2 клика.

Для предотвращения такого поведения мы сделаем так, чтобы оно не срабатывало на label, но сработало на input.

container.onclick = function(event) {
    var target = event.target,
        label = target.closest('.block');

    // Если это блок label, то отменяем событие
    if (!label || target.classList.contains('block')) {
        return;
    }
}
Метки:

У сайта нет цели самоокупаться, поэтому на сайте нет рекламы. Но если вам пригодилась информация, можете лайкнуть страницу, оставить комментарий или отправить мне подарок на чашечку кофе.

Добавить комментарий

Напишите свой комментарий, если вам есть что добавить/поправить/спросить по теме текущей статьи:
"input внутри label. Особенность HTML."