Как использовать jQuery для загрузки кода
Я использую codepress в CMS для редактирования файлов в файловой системе. Все работает хорошо, однако при попытке загрузить одну и ту же страницу с помощью функции jQuery load() код-код, похоже, сломается.
Мой код javascript выглядит так, что загружает php файл с помощью codpress, однако код-код, похоже, не срабатывает.
$('.content').on('click', '#fileSystemWrap a', function (event) {
event.preventDefault();
var fileName = $(this).data('file');
$('#rightColWrap').fadeOut(150, function(){
$('#rightColWrap').load('/?url=developer/edit-file.php&open=' + fileName, function(){
$('#rightColWrap').fadeIn(150);
});
});
});
Копаем в codepress.js. Я вижу это в конце файла, но я не понимаю, есть ли что-то, что я мог бы добавить к своему первоначальному клиенту event listner script, чтобы помочь сжечь огонь.
if(window.attachEvent) window.attachEvent('onload',CodePress.run);
else window.addEventListener('DOMContentLoaded',CodePress.run,false);
Вот ссылка на codepress на sourceforge
https://sourceforge.net/projects/codepress/
Ответы
Ответ 1
Ответ заключался в том, что нам нужно было добавить круглые скобки в CodePress.run и после вызова fadeIn().
$('#content').on('click', '#fileSystemWrap a', function (event) {
event.preventDefault();
var fileName = $(this).data('file');
$('#content').fadeOut(150, function(){
$('#content').load('/?url=developer/edit-file.php&open=' + fileName, function(){
$('#content').fadeIn(150, function(){
CodePress.run();
});
});
});
});
Ответ 2
Быть логичным: когда данные загружаются, мы хотим инициализировать CodePress.
Поэтому ваш код должен выглядеть так:
$('.content').on('click', '#fileSystemWrap a', function (event) {
event.preventDefault();
var fileName = $(this).data('file');
$('#rightColWrap').fadeOut(150, function(){
$('#rightColWrap').load('/?url=developer/edit-file.php&open=' + fileName, function(){
CodePress.run();
$('#rightColWrap').fadeIn(150);
});
});
});
Если это не помогло, сообщите об ошибке с консоли.
Изменить: исправленный ответ, см. комментарий Робсона Франса.
Последняя проблема заключалась в том, что CodePress.run;
должен был быть записан CodePress.run();