1

他の ajax コンテンツをロードするための ajax ロード リンクの取得に問題があります。基本的に、これは私のajaxコードです:

$(function () {

var api = $("#content").jScrollPane().data('jsp');

    var reinitialiseScrollPane = function()
    {
        api.reinitialise();
    }

// attaching click handler to links
$("#contentcontainer a[href]").click(function (e) {
    // cancel the default behaviour
    e.preventDefault();

    // get the address of the link
    var href = $(this).attr('href');

    // getting the desired element for working with it later
    var $wrap = $('#content');
    $wrap
        // removing old data
        api.getContentPane()

        // load the remote page
        .load(href, reinitialiseScrollPane , function (){

        }
    );
});

});

基本的に、ナビゲーション内のリンクはページがロードされるときにロードされるため正常に機能しますが、ajax コンテンツ内のリンク (ナビゲーション リンクがコンテンツをロードするのと同じ場所にページをロードすることになっています) は機能しません。 js として呼び出される一種の「.live」関数は、ajax がコンテンツをロードするとコードを再スキャンしません。

いくつかの解決策を見つけましたが、使用しているコードに関連するものはありませんでした。コードの最初の部分は ajax ではありませんが、スクロールバー プラグインの場合は削除しませんでした。

ありがとう。

4

1 に答える 1

2

クリック ハンドラーをアタッチするときは、.on()メソッド ( jQuery のドキュメントを参照)を使用してみてください。

$(document).on('click', '#contentcontainer a[href]', function (e) {
    // Rest of your code here
});
于 2013-11-03T00:00:54.740 に答える