2014-02-17 47 views
-1

我正在使用查詢加載來獲取內容並將其注入到我的頁面中。這很好,我已經使用委託,這樣我可以點擊鏈接加載內容通過ajax,然後另一個和另一個等我的問題是,我有一個自定義的切換點擊功能,無法工作後去ajax加載頁面。爲什麼是這個,我該如何解決它?在使用查詢加載後使功能正常工作

$.fn.toggleClick = function() { 
    var methods = arguments, 
     count = methods.length; 
    return this.each(function (i, item) { 
     var index = 0; 
     $(item).click(function() { 
      return methods[index++ % count].apply(this, arguments); 
     }); 
    }); 
}; 

$(window).load(function() { 
    $(document).delegate('#nextPost, #prevPost, .open, .logo', 'click', function(e) { 
     var postLink = $(this).attr('href'); 
     $('#middle').animate({opacity:0},300, function() { 
      $(this).load(postLink + ' .teleport', function() { 
       $(this).animate({opacity:1},300); 
      }); 
     }); 
     e.preventDefault(); 
    }); 

    $('#moreLikeThis').toggleClick(function() { 
     $('.more').slideDown(500); 
     $('#moreLikeThis').text('Hide more like this'); 
    }, function() { 
     $('.more').slideUp(500); 
     $('#moreLikeThis').text('Show more like this'); 
    }); 
}); 

回答

0

試試這個:

$.fn.toggleClick = function() { 
    var methods = arguments, 
     count = methods.length; 
    return this.each(function(i, item) { 
     var index = 0; 
     $(item).click(function() { 
      return methods[index++ % count].apply(this, arguments); 
     }); 
    }); 
}; 

$(window).load(function() { 

    function doToggles() { 
     $('#moreLikeThis').unbind(); 
     $('#moreLikeThis').toggleClick(function() { 
      $('.more').slideDown(500); 
      $('#moreLikeThis').text('Hide more like this'); 
     }, function() { 
      $('.more').slideUp(500); 
      $('#moreLikeThis').text('Show more like this'); 
     }); 
    } 

    $(document).delegate('#nextPost, #prevPost, .open, .logo', 'click', function(e) { 
     var postLink = $(this).attr('href'); 
     $('#middle').animate({opacity: 0}, 300, function() { 
      $(this).load(postLink + ' .teleport', function() { 
       $(this).animate({opacity: 1}, 300); 
       doToggles(); 
      }); 
     }); 
     e.preventDefault(); 
    }); 

    doToggles(); 
}); 

你必須動態地添加內容到DOM後重新初始化你的聽衆。