Всем привет! Прошу помощи..
Есть скрипт для стилизации чекбокса с помощью псевдоэлементов. На ПК и андроид работает все норм. На айфоне ситуация такая: если тапнуть один раз, класс присвоился, галочка появилась, но сам инпут не получил атрибут checked. Если тапнуть еще раз по этому же элементу, галочка пропадает, но инпуту присваивается checked.
Если click заменить на touchenter, то инпут получает checked, но присвоение класса не проиходит. Если использовать совместно с клик, получается даблклик, что тоже не дает нужного результата. Структуру изменить не могу, генерируется из БД.
Как это исправить не прибегая к тяжелым библиотекам? В чем ошибка?
Структура
<label class="checkbox-inline"><input type="checkbox" class="rsform-checkbox">Дополнительный цокольный ввод</label>
Скрипт
$('label.checkbox-inline').each(function(){
var checkbox = $(this).find('input[type=checkbox]');
if(checkbox.prop("checked")) {
$(this).addClass("active-checkbox");
}
});
$('label.checkbox-inline').on('click', function(){
var checkbox = $(this).find('input[type=checkbox]');
if(checkbox.prop("checked")){
$(this).removeClass("active-checkbox");
checkbox.prop("checked", false);
}else{
$(this).addClass("active-checkbox");
checkbox.prop("checked", true);
}
});