0

Jquery で e.preventDefault() を使用して、html ページを . HTML ページには、サーバーからデータを取得する Ajax アクションが含まれています。ページを表示することはできますが、取得した Ajax データは表示できません。ajaxコールバックデータの前にページ表示が行われるようです。しかし、e.preventDefault がないと、リンクをクリックすると、ページは新しいページを開き、ajax ページから返されたすべてのデータで動作します。ページの読み込みを遅らせるための解決策またはヘルプ。

$(document).ready(function() {
    $('a').click(function (e) {                    
        $("#content").load($(this).attr("href"));               
        e.preventDefault();      
    });             
}); 
4

1 に答える 1

0

最も可能性の高い原因は、ロードしているページがイベント ハンドラーの一部として ajax リクエストを起動することです。例えば

$(document).ready(function(){
   fetchDataByAjax();
}

ただし、ajax を介してロードした場合、そのイベントは発生しません。ドキュメント準備完了イベントはすでに発生しており、一度だけ発生します。

それを機能させるには、JavaScript を共通の場所に追加し、両方のページに含める必要があります。一方では、document.ready または使用するものでメソッドを実行しますが、他方では、html を #content に挿入したときに実行します

于 2013-05-15T14:02:44.323 に答える