Подтвердить что ты не робот

Как использовать 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/

4b9b3361

Ответ 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();