2013-11-14 3 views
0

Ajax를 사용하여 내용을 가져와 라이트 박스 유형 콘텐츠 페이지를 만듭니다. 또한 한번로드 된 다음 및 이전 버튼을 가지고 있으므로 아약스를 사용합니다.아약스 컨테이너 안에서 또 다른 아약스 요청을 할 수 있습니까?

페이지 탐색에도 Ajax를 사용하고 싶습니다. 그러나 누군가가 페이지 링크를 클릭 한 다음 라이트 박스 기능을 사용하려고하면 jquery 및 ajax 요청이로드 된 영역 내에서 더 이상 작동하지 않습니다.

내가 바인딩을 위임하지만 이러한 맥락에서 사용하는 방법을 잘 대해 많이 읽은

여기에 코드 내 주요 조각입니다 :

// This gets called on document ready 

    function clicky() { 
     $link.click(function(e) { 
      e.preventDefault(); 
      var linkPage = $(this).attr('href'); 

      if ($(this).hasClass('pages')){ 

       // PAGE specific code 
       if ($('body').scrollTop() != 0) { 
        $('body').animate({ scrollTop: 0 }, 500, function(){ 
         pageLoad(linkPage); 
        }); 
       } else { pageLoad(linkPage); } 
       console.log('page'); 

      } else { 

       // PRODUCT specific code 
       if ($('body').scrollTop() != 0) { 
        $('body').animate({ scrollTop: 0 }, 500, function(){ 
         productLoad(linkPage); 
        }); 
       } else { 
        productLoad(linkPage); 
       } 

      }   
     }); 
    } 

다음은 두 개의 서로 다른 영역에 대한 내 아약스의 :

// Ajax stuff going on for pages 

    function pageLoad(linkPage) { 

      // Page stuff fades out 

      history.pushState(null, null, linkPage); 
      $("#page-content").load(linkPage + " #guts", function(){ 

       // Loads in page content 

      }); 

    } 

    // Ajax stuff going on for Products 

    function productLoad(linkPage) { 

      // Page stuff fades out 

      history.pushState(null, null, linkPage); 
      $("#product-content").load(linkPage + " #guts", function(){ 

      // Shows an overlay/lightbox and loads in content 

      }); 

    } 

편집 : 이것은 나를 위해 일한

$(document).on('click', '.link' , function(){ 

    console.log('this worked'); 
    return false; 

}); 

답변

0

이 작업 결과 :

$(document).on('click', '.link' , function(){ 
    console.log('this worked'); 
    return false; 
}); 
관련 문제