Приветствую всех.
Делаю стилизацию чекбокса:
- прячу все чекбоксы
- добавляю span с классом (и соответственно стили)
- проверяю были ли checked, добавляю класс для активных псевдочекбоксов
- при клике на псевдочекбокс, передаю клик самому чекбоксу
$(document).on('click', '.input_checkbox', function(){
$(this).prev().click();
});
- при изменении чекбокса изменяю класс псевдочекбоксу
Всё ок, работает.
Но если добавить label
<label for="check">
<input type="checkbox" id="check">
<span class="input_checkbox"></span>
bla-bla
</label>
По клику на label происходит передача клика чекбоксу, псевдочебокс изменился - ok
Но если при такой структуре кликнуть по псевдочебоксу он передаст клик на чекбокс + клик передаст и label
Как правильно отловить это событие от label ?
писать проверку на родителя чекбокса ? типа
if ($(this).closets('label')) e.defaultPrevented()
Помогите разобраться.
з.ы. Совет использовать плагин не нужен, т.к. это не для сайта, а для себя