Как запустить jQuery до и после загрузки pjax?
в настоящее время я использую pjax, и он отлично работает, но мне нужно запустить две функции jQuery, одну до загрузки pjax нового url и одну после загрузки нового url, как я могу это сделать?
Я пробовал следующие два варианта, но ни один из них не работает?
первая попытка:
$("a").pjax("#main").live('click', function(){
//Function Before Load
// Function After Load
})
вторая попытка:
$("body").on("click", "a", function(){
//Function Before Load
$(this).pjax("#main");
//Function After Load
return false;
});
2 ответов
Как говорится в их doc здесь pjax
запускает два события для того, что вам нужно
pjax запустит два события в контейнере, который вы попросили его загрузить ваше ответное тело в:
pjax:запуск при запуске запроса pjax ajax.
pjax: end - Fired, когда заканчивается запрос pjax ajax.
и пример кода для этого
$('a.pjax').pjax('#main')
$('#main')
.on('pjax:start', function() { //do what you want to do before start })
.on('pjax:end', function() { //after the request ends });
$("body").on("click", "a", function(){
$(this).pjax("#main");
$('a.pjax').pjax('#main')
$('#main').on('pjax:start', function() { /* your code before ajax load */ });
$('#main').on('pjax:end', function() { /* your code after ajax load */ });
return false;
});