我正在使用ajax来提取内容以创建灯箱类型的内容页面。它一旦加载就有一个next和prev按钮,因此使用了ajax。
我也希望使用Ajax进行页面导航。但是,如果有人点击页面链接,然后尝试使用灯箱功能,则jquery和ajax请求都不再在加载区域内工作。
我已经阅读了很多关于bind和delegate但不确定如何在这种情况下使用它们
这是我的主要代码:
// 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:
// 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 :(得分:0)
这有效:
$(document).on('click', '.link' , function(){
console.log('this worked');
return false;
});