Показать сообщение отдельно
  #3 (permalink)  
Старый 05.01.2014, 15:07
Профессор
Отправить личное сообщение для BallsShaped Посмотреть профиль Найти все сообщения от BallsShaped
 
Регистрация: 14.09.2012
Сообщений: 162

Мне кажется такая структура кода странной. Структура убогая и неудобная, но распространённая. Как по мне, так "так верстают только мудаки". Есть такая проблема: на любую задачу есть готовое решение, которое немного не подходит. Вот мне нужно выделение, и я думаю: "Надо взять готовое решение!" Нахожу, внедряю и тут мне говорят: "Нужно, чтобы внизу был счётчик выбранных элементов."
- Ну, - думаю я. - Отлично! Это ж класс. Создам дочерний класс с нужным мне функционалом...
Хренцы-бубенцы! Наследованием проблему не решить.

Тогда многие дают при инициализации передать типа обработчики на "внутренние события" (стандартный для jQ-плагинов паттерн с объектом options). Но такой вариант мне тоже кажется туповатым.

Мне кажется, что в решениях, где вся суть в манипуляциях с DOM-элементами, необходимо чтобы на каждую манипуляцию происходило соответствующее событие. Тогда, чтобы добавить счётчик, нужно сделать что-то вроде того:
$(".some-container").on({
    select: function () {
        $(".counter", this).html($(".counter", this).html() + 1);
    },
    unselect: function () {
        $(".counter", this).html($(".counter", this).html() - 1);
    }
});

Это псевдо-быдлокод, чтобы уловить идею.
Ответить с цитированием