jQuery e ColorBox

#jquery #ajax #colorbox

#jquery #ajax #colorbox

Вопрос:

Здравствуйте, у меня возникла небольшая проблема с интеграцией colorbox, тогда вот что, у меня есть код, который загружает данные в список, после загрузки данных я могу просто нажать на заголовок, чтобы отредактировать форму редактирования, которая будет загружена этим плагином colorbox, пока здесь все в порядке, после закрытия colorbox он снова перезагружает данные, и если вы попытаетесь отредактировать другой элемент, он не допустит эту ошибку :

      $.colorbox is not a function
[Parar Neste Erro] onClosed: function () { 
  

Мой текущий код таков :

 $("a[href*='#tabsDadosSoftware']").click(function () {
    CarregarDadosSoftware();
});

function CarregarDadosSoftware() {
    $.ajax({
        url: 'ajax/Software.php',
        cache: false,
        data: "acc=Visualizaramp;idpc=<?php echo (int)$_GET["id"]; ?>",
        type: 'GET',
        contentType: "application/x-www-form-urlencoded; charset=utf-8",
        beforeSend: function () {
            $('div#ListagemSoftware > div.Informacoes .load').show();
            $('div#ListagemSoftware > div.Informacoes > ul').html("");
        },
        success: function (result) {
            $('div#ListagemSoftware > div.Informacoes .load').hide();
            $('div#ListagemSoftware > div.Informacoes > ul').html(result)
        }
    });
}
$("div#ListagemSoftware > div.Informacoes > ul > li > .titulo").live('click', function () {
        var IDSoftware = $(this).parent().attr("id");
    $.colorbox({
        href: "ajax/Software.php?acc=Editaramp;idpc=<?php echo (int)$_GET["id"]; ?>amp;id=" IDSoftware,
        onClosed: function () {
                                CarregarDadosSoftware();
        }
    });
});
  

А теперь выложите видео на YouTube с демонстрацией ошибки

http://www.youtube.com/watch?v=AXOG5nec8_M

Приветствую

Ответ №1:

Я бы поставил на то, что либо это: url: ‘ajax/Software.php ‘,

Или это: href: «ajax/Software.php?acc=Editaramp;idpc=amp;id=» idSoftware

Открывает файл, содержащий блок скрипта, указывающий на jQuery. Поскольку вы используете ajax (вместо того, чтобы изолировать его с помощью iframe), недавно загруженная версия jQuery заменяет версию jQuery вашего исходного документа. Эта первая версия jQuery была расширена с помощью плагина colorbox, при его замене $.colorbox теряется.

Поскольку у вас уже есть jQuery в исходном документе, вам не нужна другая копия в разметке, которую вы загружаете через ajax.