Закрытие, завершение функции по клику
Есть функция, которая подсвечивает код в textarea, я по клику в двух местах ее вызываю, при этом во втором месте, редактируются два разных файла! Сама функция:.
// Hook up ACE editor to all textareas with data-editor attribute
var isRunEditor = false; // Объявляю переменную в false для того, что бы собственно в нужном месте убить ф-цию поставив ее в true
function editCodeTextArea() {
if (isRunEditor === false) {
$('textarea[data-editor]').each(function () {
var textarea = $(this);
var mode = textarea.data('editor');
var editDiv = $('<div>', {
position: 'absolute',
height: textarea.height(),
'class': textarea.attr('class')
}).insertBefore(textarea);
textarea.css('display', 'none');
var editor = ace.edit(editDiv[0]);
editor.renderer.setShowGutter(textarea.data('gutter'));
editor.getSession().setValue(textarea.val());
editor.getSession().setMode("ace/mode/" + mode);
editor.setTheme("ace/theme/idle_fingers");
// copy back to textarea on form submit...
textarea.closest('form').submit(function () {
textarea.val(editor.getSession().getValue());
})
});
}
isRunEditor = true;
}
В одном месте вызываю так по клику на кнопку открывается в попапе textarea с кодом:
$('body').on('click', '.edit-file', function() {
$.ajax({
url: adminpath + '/landing/edit-file',
type: 'POST',
dataType: 'html',
data: {file: fileName},
success: function(data) {
$('.folder-window').fadeIn(500);
$('.editor-file').fadeIn(500);
$('.folder-window-child').fadeOut(500);
$('#editor-file').html(data);
$('#editor-file-name').val(fileName);
editCodeTextArea(); // Вызываю ф-цию
},
error: function(xhr, str){
alert('Возникла ошибка: ' + xhr.responseCode);
}
});
});
И надо завершить вызванную ф-цию по клику когда закрываю это попап окно:
$('.close-folder').on('click', function() {
$('.folder-window-child').hide(1000);
$('.folder-window').hide(1000);
$('.close-folder').hide(1000);
isRunEditor = true; // Таким образом пытаюсь закрыть
});
Но в данном месте к примеру проблема в том, что в одном и том же textarea могут открываться как js файл, так и css, а если первым открыл css например, то открывая js в textarea по прежнему в памяти предыдущий открытый файл - css. Вот и вопрос собственно, а как завершить работу ф-ции по клику и снова запустить по другому клику?