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;
});