8

現在pjaxを使用していますが、うまく機能しますが、pjaxが新しいURLをロードする前と新しいURLがロードされた後に2つのjQuery関数を実行する必要があります。

次の 2 つのバリエーションを試しましたが、どちらもうまくいかないようです。

最初の試み:

$("a").pjax("#main").live('click', function(){

    //Function Before Load  
    // Function After Load
})  

2 回目の試行:

$("body").on("click", "a", function(){

    //Function Before Load  

    $(this).pjax("#main");

    //Function After Load   

    return false;
});
4

2 に答える 2

25

彼らが彼らのドキュメントで言うように、ここで pjaxは必要なものに対して2つのイベントを発生させます

pjax は、応答本文をロードするように要求したコンテナーで 2 つのイベントを発生させます。

pjax:start - pjax ajax リクエストの開始時に発生します。

pjax:end - 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 });
于 2012-05-23T04:51:37.537 に答える
2
$("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;
});
于 2012-05-23T05:27:08.940 に答える