2011-03-30 86 views
0

我得到了這段代碼來動態加載HTML,但我得到了一個問題,導致我的插件在index.html上工作正常,但是當你改變頁面時,它不再工作..任何人都可以幫助我出去了?日ThnxJquery插件將無法在動態加載的HTML中工作

$(函數(){

var newHash  = "", 
    $mainContent = $("#main-content"), 
    $pageWrap = $("#page-wrap"), 
    baseHeight = 0, 
    $el; 


$("nav").delegate("a", "click", function() { 
    window.location.hash = $(this).attr("href"); 
    return false; 
}); 

$(window).bind('hashchange', function(){ 

    newHash = window.location.hash.substring(1); 

    if (newHash) { 
     $mainContent 
      .find("#guts") 
      .fadeOut(200, function() { 
       $mainContent.hide().load(newHash + " #guts", function() { 
        $mainContent.fadeIn(200, function() { 
         $pageWrap.animate({ 
          height: baseHeight + $mainContent.height() + "px" 
         }); 
        }); 
        $("nav a").removeClass("current"); 
        $("nav a[href="+newHash+"]").addClass("current"); 
       }); 
      }); 


    }; 

}); 

$(window).trigger('hashchange'); 

});

+0

什麼停止工作? – drewish 2011-03-30 01:01:45

+0

'load(newHash +「#guts''?爲什麼#guts在那裏? – drewish 2011-03-30 01:04:25

+0

您的DOM示例也會有所幫助。 – drewish 2011-03-30 01:05:26

回答

1

我認爲你需要的是.live()如果你想附加jQuery動態創建標記。

http://api.jquery.com/live/

+0

是啊,這聽起來像解決方案,但當我嘗試和替換.bind()與.live()沒有任何工作了.. – Jeroen 2011-03-30 13:38:43

相關問題