Пожалуйста, проверьте комментарии, а также другой ответ для ценной информации.
Проблема на самом деле не в коде, а в том, как я спроектировал мою систему , errr, logic.
Этот код вызывается в функции-оболочке (на один уровень выше) следующим образом:
var markup = $(window[callback](e.currentTarget));
markup.attr('data-screen', callback);
wrapper.append(markup);
Естественно, я просто добавляю (к моему wrapper
) строка html (markup
), это явно не позволяет делать что-либо внутри моих исходных функций, , потому что она просто выводит и ничего более.
Требуетсяданные из моего HTML:
<div class="test" data-callback="generate_markup">
И только что выполнил тот обратный вызов, который является моим оригинальным generate_hello
.Ничего более.
Решение здесь состоит в том, чтобы после завершения вывода выполнить еще один обратный вызов, поэтому после моего wrapper.append(markup);
я просто вызову свой второй обратный вызов:
var markup = $(window[callback](e.currentTarget));
markup.attr('data-screen', callback);
wrapper.append(markup);
secondary_callback_after_markup_is_done();
Я предполагаю, что урок здесь: Управляйте своей логикой и знайте, что возвращает каждая функция и как она обрабатывается.