1. Список говнокодов пользователя frenzykryger

    Всего: 1

  2. JavaScript / Говнокод #23157

    +1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 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

    frenzykryger, 05 Июля 2017

    Комментарии (10)