- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
<div class="checkbox removeSpan">
<input id="all-standard-colors" name="all-standard-colors" type="checkbox"
data-bind="checked: $parent.selectAllStandardColors enable: $parent.isTabEnabled"/>
<label for="all-standard-colors">All standard</label>
</div>
<style>
div.checkbox > input + label {
padding: 4px 0 4px 29px;
background-image: url("../images/unchecked-checkbox.png");
background-size: 21px;
background-position: left center;
background-repeat: no-repeat;
}
div.checkbox > input:checked + label {
background-image: url("../images/checkbox-checked.png");
background-size: 21px;
background-position: left center;
background-repeat: no-repeat;
}
</style>
<script>
$(document).ready(function() {
setInterval(function(){
$('.removeSpan span').remove();
}, 2000);
});
</script>
UI на knockout.js. Есть бага - пропадает галочка на чекбоксе. Выясняется что knockout для валидации вставляет после input тега невидимый span
<span></span>
Неизвестный товарищ фиксит это не вдаваясь в детали верстки и CSS селекторы - добавляет специальный класс, которым маркает все чекбоксы и поллер который убирает из них span каждые 2 секунды. Но про это никто не узнает. В течении полугода появляется еще десяток другой багов с отображением чекбоксов которые фиксят не вдаваясь в детали. И только потом замечают странный класс removeSpan и находят поллер в недрах domUtil.js, удаляют его и меняют один символ в стилях - вместо div.checkbox > input + label стало div.checkbox > input ~ label