Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 14.07.2016, 10:00
Аспирант
Отправить личное сообщение для Spass Посмотреть профиль Найти все сообщения от Spass
 
Регистрация: 14.07.2016
Сообщений: 86

Обработчики и структурирование кода
Добрый день.
Возникла необходимость структурировать обработчики. Хотелось бы услышать мнения бывалых JS-программистов.

Разбил на странице все логические блоки на вот такие обьекты.
Собственно код:
data.character = {
        $name: $('input[name="name"]', '#char-create'),
        $photo: $('input[name="avatar"]', '#char-create'),
        $img: $('div.avatar', '#char-create')
            .on('update', function(event, i){
                this.character.$photo.val(i);
                g = this.character.$gender.prop('checked');
                $(event.currentTarget).css('background-position', (i-1)*-185+'px '+((g)?0:-230)+'px');
            }.bind(data)),
        $gender: $('input[name="gender"]', '#char-create')
            .on('change', function(event){
                $('#gender-choise label').removeClass();
                $(event.currentTarget).parent().addClass('active');
                this.character.$img.trigger('update', 1);
            }.bind(data)),
        $next: $('div.change-avatar button.next', '#char-create')
            .on('click', function() {
                var i = + this.character.$photo.val();
                i = (i < 12)? i+1 : 1;
                this.character.$img.trigger('update', i);
            }.bind(data)),
        $prev: $('div.change-avatar button.prev', '#char-create')
            .on('click', function() {
                var i = + this.character.$photo.val();
                i = (i > 1)? i-1 : 12;
                this.character.$img.trigger('update', i);
            }.bind(data)),
...
}


Интересует следующее:
1) Имеет ли право на жизнь?
2) Как сделать лучше?
3) Не получается вешать bind на data.character, толи обьект не успевает создатся толи я не до конца понимаю механику работы
4) Как вы пишете код в больших проектах с множеством обработчиков, который потом нужно будет длительное время поддерживать и расширять?

Заранее спасибо.

upd: п.3 вопрос решен, на момент объявления функции объект еще создается

Последний раз редактировалось Spass, 15.07.2016 в 11:04.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
jQuery, не работает часть кода в joomla 3 Kuzma Элементы интерфейса 1 06.05.2015 09:27
Вставка HTML кода и JS кода через innerHTML zhurchik AJAX и COMET 1 31.10.2014 17:32
Как визуализировать структуру кода? dkudrin Общие вопросы Javascript 2 22.08.2014 19:12
скрыть из исходного кода часть javascript кода. javasc Javascript под браузер 10 12.03.2014 09:32
Грамотная организация кода trasher Общие вопросы Javascript 10 04.02.2010 16:26