Совсем запутался с обработчиками, вызовами и прочим. И переписывать уже лень - фиг в этом говнокоде разберёшься.
В качестве примера структура куска проблемного кода:
$("#a").on("click", ".b", function() {
functionA(variable);
});
}
function functionA(variable) {
//какой-то код
$("#с").click(function() {
functionB(variable);
});
}
function functionB(variable) {
console.log(variable);
//какой-то код
$("#d").click(function() {
functionC(variable);
});
}
function functionC(variable) {
//какой-то код
$("#a").empty();
$("#a").append('<div class="b"><div>');
}
Суть проблемы - происходит множественный вызов функции
functionB.
.on тому виной уж, или я где хвосты не подчистил - не знаю.
variable - объект который используют многие функции (формируется в зависимости от клика по какому-то элементу).
Если цепочка вызовов функции доходит до последней, и запускается снова -
console.log в 14 строке несколько раз подряд выводит
variable. Та же фигня происходит если несколько раз дёрнуть функцию
functionA, а потом вызвать
functionB.
Что это может быть?
.on? (без него, кстати, не будет работать - контент ведь динамически генерируется)
Или объект
variable каким-то макаром клонируется при каждой его передаче другой функции?
P.S. Элементы по которым отслеживаются клики - не являются родственниками.
P.P.S. Сейчас проверил - это точно
.on, сколько раз навызывали
functionA - столько раз и выведет
variable в
functionB