2013-06-22 4 views
0

У меня есть сайт, который использует разбиение на страницы и некоторую фильтрацию с помощью jQuery и AJAX. Все работает хорошо до тех пор, пока я не изменил свои ссылки на ссылки Javascript.После запуска вызова AJAX код jquery не выполняется

Находясь на домашней странице и не используя какую-либо фильтрацию или разбивку на страницы, все работает так, как ожидалось. После того, как я использовал разбивку на страницы или фильтрацию (эффективно используя вызов AJAX для обоих), мои ссылки на JavaScript больше не работают.

JavaScript для ссылки является:

$(function(){ 
    $(".artikel_box_lk .button").click(function(e) { 
     window.open("/lk/" + $(this).attr("rel"), "_blank"); 
    }); 
}); 

И код пагинацией:

function loadData(page){     
    loading_show(); 
    $.ajax 
    ({ 
     type: "POST", 
     url: "php/load_data.php", 
     data: dataToSend, 
     success: function(msg) 
     { 
      $("#container").ajaxComplete(function(event, request, settings) 
      { 
       loading_hide(); 
       $("#container").html(msg);       
      }); 
     } 
    }); 
} 

Моя догадка, что Javascript не перезагружаются на вызов AJAX, как только часть страница перезагружается, но я не уверен, что это так и как это исправить.

+0

+1, это действительно вопрос –

ответ

1

Кажется, ваш браузер не загружается после обратной передачи. Попробуйте добавить свою функцию внутри Pageload на веб-страницы как:

function pageLoad() 
{ 
    $(".artikel_box_lk .button").click(function(e) { 
     window.open("/lk/" + $(this).attr("rel"), "_blank"); 
    }); 
} 
+0

Я не уверен, где разместить эту функцию сейчас? Нужно ли быть в функции loadData? или в функции успеха вызова AJAX? Или где-то еще? Извините за вопросы noob! – Hugo

+0

Вы должны добавить его на веб-странице (.aspx или .html или веб-странице anytype) внутри тега javascript, он будет перерегистрировать ссылку после обратной передачи сервера. –

+0

А, ок ... Думаю, теперь у меня это работает. Я добавил вызов функции в файл load_data.php, где он теперь вызывается каждый раз, когда страница перезагружается AJAX. Верный? В любом случае спасибо за вашу помощь !! – Hugo

0

ли event delegation

$("#container").on ("click",".artikel_box_lk .button" ,function(e) { 
     window.open("/lk/" + $(this).attr("rel"), "_blank"); 
    }); 
+0

Если я использую этот код вместо мои ссылки не работают вообще. Мне, наверное, здесь что-то не хватает. – Hugo