Я создаю несколько модулей, чтобы обучать некоторых моих студентов основам программирования http://jsbin.com/pacaxoza/3/edit
Когда пользователь пишет свою собственную функцию, я хочу, чтобы редактор, который выделяет каждую строку по мере ее поступления, переходил к функции при ее вызове, чтобы пользователь мог видеть, что их функция читается при ее вызове. Все это есть в jsbin выше (холста с анимацией на основе кода нет в jsbin для наглядности).
В режиме Javascript Ace Editor окружает любые пользовательские функции в диапазоне с классом 'ace_function'. Я не смог найти простой способ найти и сохранить значения из созданных пользователем функций в методах ace, поэтому вместо этого я использую JQuery для поиска каждого диапазона с классом 'ace_function'. Я использую индекс JQuery, чтобы найти, в каких строках находятся эти функции, а затем передаю эту информацию методам ace для рендеринга.
Проблема в том, что если редактор прокручивается вверх, все работает нормально, но если вы прокручиваете что-либо в редакторе и нажимаете «Отправить», индексация редактора кажется отключенной на пару строк кода, и все ломается.
У кого-нибудь есть предложения по лучшему способу решения этой проблемы или что может быть причиной неустойчивого поведения?
Спасибо