ЙажаСценарий / Говнокод #12847 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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
if (e.button in [-1, -1, -1]) { // попробуйте теперь сообразите, почему true
				e.preventDefault();
				var rel = this.rel.split(';'),
					fn;
				switch (e.button) {
				case 0:
					fn = 'attr';
					break;
				case 1:
				case 2:
					fn = 'removeAttr';
					break;
				default:
					return false;
				}
				$('td.mod[rel="' + rel[0] + '"] input[rel="' + rel[1] + '"]').each(function () {
					if (fn === 'removeAttr' && $(this).attr('rel') === 'view') { // Я маразматик
						var parts = /(chk\[\d+\]\[\d+\])\[view\]/.exec(this.id),
							p = ['add', 'edit', 'del'],
							i;
						for (i in p) {
							$('#' + parts[1].replace(/[[\]]/g, "\\$&") + '\\[' + p[i] + '\\]')[fn]('checked');
						}
					}
					$(this)[fn]('checked', 'checked');
				});
				return false;
			}

ГК, не?
первая строка вот... текущий проект, сижу с ним на данный момент. Почему захотелось так сделать, объяснить не могу. Но работает, ведь

Запостил: Serabas Serabas, (Updated )

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

    • я сначала вообще хотел так:
      if (e.button in [ , , ])
      но выдавало false, хотя length у массива 3
      Эх, Javascript)
      Ответить
      • length три, но если сделать console.dir такому массиву, то все станет понятно, там нет ничего по индексам. in же на наличие индексов смотрит
        Ответить
  • >попробуйте теперь сообразите, почему true
    Исправил, чтобы лучше читалось:
    if ([true, true, true][e.button]) {
      // ...
    }
    Ответить
    • замечательно! Завтра исправлю в проекте.... и © scriptin поставлю))))
      Ответить

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

Где здесь C++, guest?!

    А не использовать ли нам bbcode?


    8