2016-03-27 23 views
1

みんな!Pjax。ページ上の他のJSスクリプトは動作しません

私は自分のサイトにpjaxを統合しました。それは働いているが、GoogleマップやDataTableのような他のjsスクリプト - いいえ。 f5を押してページをリロードすると、ページ上の他のすべてのJが完璧に動作します!私は何を間違えたの?この問題を解決するには?

答えて

1

Pjaxはコンテンツの置き換えにajaxを使用しているため、ドキュメント上にjavascriptをすぐに読み込んでいるだけで、pjaxが完了したときに再読み込みする必要があります。あなたのjavascriptを再起動するためにpjaxが完了したときに使用できるハンドラがあります。

あなたは下へhttps://github.com/defunkt/jquery-pjax

スクロールでgithubのページでpjaxのイベントを表示し、イベントを見ることができます。

あなたはおそらく次のようなことをすることができますが、コードを投稿しなかったことを伝えるのは難しいです。

funcitonを記述して、ドキュメントの準備が整った後、pjaxが完了した後に、それらを開始することができます。

function datatables(){ 
    //your datatables code here 
{ 
function googleMaps(){ 
    //your google maps code here 
} 
$(document).ready(function() { 
    datatables(); 
    googleMaps(); 
}); 
$(document).on('pjax:complete', function() { 
    datatables(); 
    googleMaps(); 
}); 

それとも、ドキュメント準備とするときpjaxが、その効果にとても

$(document).ready(function() { 
    //your datatables code here 
    //your google maps code here 
}); 
$(document).on('pjax:complete', function() { 
    //your datatables code here 
    //your google maps code here 
}); 

か何かのように完了した上でそれらを述べることができます。

希望します。

+0

こんにちは@Steve K、ページが読み込まれたときに同様の問題が発生しましたが、スクリプトが正常に動作してもスクリプトが動作しない場合は、pjax:completeイベントを使用しました。 – MarBer

+0

魅力的な作品です。ありがとう! – lesimoes

関連する問題