вы уже говорите о более сложном скрипте, нежели то, что Вы сделали. Тут уже не одна проверка нужна. Нужно проверять - был ли уже добавлен # или нет, пользуясь string.search(/\/#/) == -1, значит еще не был добавлен. А если добавлен, то стираете значение после него, и добавляете новое.
Можно в init в each делать так: methods._initEvents();
А вот так в функции _initEvents
_initEvents : function(nowElement){
$(document).on('change', nowElement, function(event) {
console.log('1';)
});
}
А вообще я не понимаю зачем вы делаете так: $(document).on("change",selector,...
Можно же $(selector).on("change",function(event){...})
А в Вашем варианте nowElement.on('change', function(event) {...
Как же? Тогда как крупные компании патентую технологии, которых еще и в помине нет! Например, Apple за несколько лет до iPad регистрировала далекое подобие, но они зарегистрировали ИДЕЮ!