2016-04-01 3 views
0

У меня есть список ссылок, которые GET соответствующего файла при нажатии на соответствующую ссылку с ajax.Получение списка всех прослушивателей событий javascript/jquery

Предположим, у меня есть несколько файлов в папке «pages» с именем a.php и b.php. При нажатии на первую ссылку я получаю все данные из файла a.php, то же самое касается b.php.

Проблема заключается в том, что если первая открываю a.php и заполнить DIV с этой строки кода:

$("#content").html(data); 

Затем я открываю файл b.php и перезаписывать ранее созданные данные с новым, который я получил от мой второй файл, то прослушиватели событий из файла a.php не будут перезаписаны.

Так как я могу решить эту проблему? Спасибо.

------------------ РЕДАКТИРОВАТЬ ----------------------

Вот функция Я использую, чтобы получить данные

function openPage() 
{ 
    var targetPage = $(this).data("page-file-name"); 
    $("#loader").css("display", "block"); 

    $.ajax(
    { 
     method: "GET", 
     url: "pages/"+targetPage 
    }).done(function(data) 
    { 
     $("#container *").remove(); 
     $("#container").html(data); 
     $("#loader").css("display", "none"); 
    }); 
} 

ответ

1

Вы должны использовать метод jQuery.remove, чтобы удалить все существующие DOM узлы, а также данные и события. После этого используйте метод html для вставки новых узлов DOM.

См jQuery Remove documentation

+0

Я попытался с помощью метода удалить этот путь $ ("# погрузчик") CSS ("дисплей", "блок"). \t \t \t \t $ .ajax ({ \t метод: "GET", \t URL: "страницы /" + targetPage }). Сделано (функция (данные) { \t $ ("# контейнер * ") .remove(); \t $ (" # контейнер ") HTML (данные);. \t $ (". ") CSS (" # погрузчик дисплей», "нет"); \t}); Но события не удаляются. – dnc123

+0

Можете ли вы добавить более подробные фрагменты кода к исходному сообщению. – TeaCode

+0

Я добавил код, который я использую сейчас – dnc123

Смежные вопросы