0

Ajaxを介してページをロードしています(長い話ですが、JavaScriptが有効なブラウザーの場合、およびjsが無効になっている場合にロードされないようにするには、単一のhtmlファイルに複数のページが必要です)。Ajaxを介してロードされたページには、追加のajaxリンクもあります。そのため、ページが読み込まれ、そのページ内のリンクをクリックすると、コンテンツが読み込まれ、domが更新されます。これはすべて正常に機能しますが、コンテンツを更新するためにAjaxリンクをクリックし続けると、ブラウザがクラッシュするまでページがどんどん遅くなるので、メモリリンクである必要があると思います(特にChromeでは悪いですが、これはFirefoxよりもリソースを大量に消費します)。

ajaxコールバック内で関数を再度呼び出しているためかどうか疑問に思っています。そうしないと、ajaxコンテンツ内のリンクにajaxイベントが適用されません(.onと思っていたとしても) .liveと同様の方法でこれを行うことになっています)。とにかく、私は以下が誰かに明白かもしれないと思っています、どんな助けでも大いに感謝します。

function ajaxContent() {
    $('.ajaxContentWrapper').on('click', 'a.ajaxContentTrigger', function(event){
        event.preventDefault();
        var myUrl = $(this).attr("href") + " .ajaxContent";
        $(".ajaxContentWrapper").load(myUrl,function(){
            ajaxContent();  
        });

    return false;
    });
};
4

1 に答える 1

1

Chrome開発ツールでajax呼び出しを見てみましたか?また、私はあなたが提供する機能を理解していません、このアプローチの何が問題になっていますか?:

$('.ajaxContentWrapper').on('click', 'a.ajaxContentTrigger', function(event) {
    event.preventDefault();
    var myUrl = $(this).attr("href") + " .ajaxContent";
    $(".ajaxContentWrapper").load(myUrl);
});
于 2013-03-08T09:12:35.510 に答える