2011-10-30 9 views
1

jQueryを使用してCodeigniterでAjaxページネーションを処理して処理しています。jQueryのクリックイベントは2回目では機能しません

初めてAjaxを動作させると、Ajaxが動作しますが、ページが読み込まれて他のページのリンクをクリックすると、動作しません(ネイティブURLに移動します)。

これは私のjQueryの関数である:

function pagination(){ 
$('.paginate').click(function(){ 
    $('#loading').css('display','block'); 
    var b = $(this).attr('href'); 
    b = b.split('/'); 
    b = 'http://'+'/'+b[2]+'/'+b[3]+'/indexAjax/'+b[5]; 
    grabpagination(b); 
    return false; 


}); 
} 

function grabpagination(b){ 
    $.ajax({ 
    type:'POST', 
    url: b, 
    cache: false, 
    data: {}, 
    success: function (data) { 
     $("#center").replaceWith("<div id='center'>"+data+"</div>"); 
     $('#loading').css('display','none'); 
     $('html, body').animate({scrollTop: '0px'}, 1100); 

    }, 
    dataType: 'html' 
}); 


} 

とページネーションUL

<ul id="pagination"> 
    <li class="current">1</li> 
    <li><a class="paginate" href="http://under.dev/home/index/2">2</a></li> 
    <li><a class="paginate" href="http://under.dev/home/index/4">3</a></li> 
    <li class="text"><a class="paginate" href="http://under.dev/home/index/2">التالي</a></li> 
    <li class="text"><a class="paginate" href="http://under.dev/home/index/14">الأخير</a></li> 
</ul> 

under.devのHTMLだけの仮想ドメインです。

どういうところが間違っていますか?私はデバッグにFirebugを使用していますが、何のエラーもありません。


Live()機能を使用して解決しました。

+0

クリックコールバック内のクリック機能を呼び出して、コールバックを再調整する必要があります。あるいは、fleskの答えに示唆されていることをしてください。 – lc2817

+0

どうすればいいですか? – Hamza

+0

完了、私はライブ機能について読んで、たくさんの人に感謝します。 – Hamza

答えて

2

動的にロードされるデータにバインドする場合は、イベントをlive()関数でバインドする必要があります。

+0

どうすればいいですか? – Hamza

+0

完了、私はちょうどライブ機能について読んで、多くの人にありがとう。 – Hamza

関連する問題