2011-03-30 3 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

+0

'load (newHash + "#guts"'는 무엇입니까? 왜 거기에 장바구니가 있습니까? – drewish

+0

DOM 샘플도 도움이 될 것입니다 .. – drewish

답변

1

동적으로 생성 된 마크 업에 jQuery를 첨부하려면 .live()가 필요하다고 생각합니다.

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

+0

그래, 솔루션처럼 들리지만, .bind() .live()는 더 이상 작동하지 않습니다. – Jeroen