1. JavaScript / Говнокод #3592

    +165

    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
    once = true;
    $(document).ready(function () {
        $('#Town').change(function () {
            if (once) {
                if ($(this).val() != $("#TownName").val()) {
                    alert("При смене города произойдет потеря всех товаров в корзине");
                    once = false;
                }
    
            }
        }
        })
    );

    вместо
    $('#Town').one('change', function() {})

    Запостил: nur, 29 Июня 2010

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

    • "При смене города произойдет потеря всех товаров в корзине", а при смене телефона - всех товаров в магазине
      Ответить
      • lol
        боюсь представить что произойдет при смене браузера
        Ответить
      • А в случае измененя адреса доставки -- Ваш логин будет автоматически удален и деньги на Вашем счету -- тоже. Потому что адрес доставки это ключ в базе данных, а деньги на вашем счету -- значения
        Ответить
    • once небось глобальная?
      Ответить
      • а как же
        Ответить
      • Ну а что такого? Все равно надо где-то флажок сохранить, показали алерт или нет. Либо в недрах джиквери, либо так, стикером на лоб. Вот кстати этот самый one:
        function( type, data, fn ) {
        		var one = jQuery.event.proxy( fn || data, function(event) {
        			jQuery(this).unbind(event, one);
        			return (fn || data).apply( this, arguments );
        		});
        		return this.each(function(){
        			jQuery.event.add( this, type, one, fn && data);
        		});
        	}
        Ответить
        • А Вы инкапсуляцию данных не проходили еще?
          Ответить
          • О да, давайте защитим флажок от повреждения. Не дай бог кто сломает нечаянно и снова этот алерт увидит, вот тут точно всем кранты.
            Говнокодом тут является проверка на "поменялся ли город" после change, да и сам факт потери товаров из корзины не радует.
            Ответить
            • угу, а глобальные перменные -- это нормально. Вы всегда так пишите -- и ни одной проблемы, правда? А если две переменные случай одинаково назовутся -- так это легко отловить же, да
              Ответить

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