0

3つのステップを実行すると想定されるjquery関数を作成しました

  1. onload すべてのリンク ファイルの属性を置き換える必要があります
  2. クリックすると、サブページが $("#content") にロードされます
  3. もう一度、すべてのリンクを再度置き換える関数を再起動する必要があります

次のコードは 2 ステップまで機能しますが、すべての URL を再度置き換える必要がある 3 番目のステップを起動しません。ロードされたページのリンクも置き換える必要があると思いますか?

$(document).ready(function(){
   var base_url = "http://localhost/dolphin/";
   $("a").each(function(e){
   if(this.href == "javascript:void(0)" || 
        this.href == base_url || 
        this.href == base_url + "index.php" || 
        this.href == "javascript:void(0);" || 
        this.href == "javascript:%20void(0)") {

     }else{
       page = 'Javascript:LoadPage(\''+ this.href + '\')';
       this.setAttribute('onclick',page);
       this.setAttribute('href', '#');
     }
   });
});

function LoadPage(url){
   $("#contentarea").load(url, function() {
     //after loading it should call redoIt() but it doesnt.
      redoIt();
   });
}

function redoIt(){
    var base_url = "http://localhost/dolphin/";
    $("a").each(function(e){
       if(this.href == "javascript:void(0)" || 
          this.href == base_url + "index.php" || 
          this.href == "javascript:void(0);" || 
          this.href == "javascript:%20void(0)") {

       }else{
         page = 'Javascript:LoadPage(\''+ this.href + '\')';
         this.setAttribute('onclick',page);
         this.setAttribute('href', '#');
       }
   });
 }
4

1 に答える 1

1

あなたの呼び出し$.loadは関数内にあり、私が収集したものから、どこでも呼び出していないため、実行されません。それを取り出して、それはうまくいくはずです

$("#contentarea").load(url, function() {

//after loading it should call redoIt() but it doesnt.
 redoIt();
});
于 2012-04-13T15:11:10.417 に答える