【发布时间】:2012-10-24 16:30:54
【问题描述】:
我正在使用 jQuery 和 ajax 加载页面而无需重新加载整个网站,但我遇到了问题。 这是 jquery 脚本:
$(function(){
$("a[rel='tab']").click(function(e){
e.preventDefault();
//get the link location that was clicked
pageurl = $(this).attr('href');
//to get the ajax content and display in div with id 'content'
if(pageurl!=window.location){
$.ajax({url:pageurl+'?rel=tab',success: function(data){
$('#main-wrap').html(data);
}});
}
//to change the browser URL to 'pageurl'
if(pageurl!=window.location){
window.history.pushState({path:pageurl},'',pageurl);
}
return false;
});
});
/* the below code is to override back button to get the ajax content without reload*/
$(window).bind('popstate', function() {
$.ajax({url:location.pathname+'?rel=tab',success: function(data){
$('#main-wrap').html(data);
}});
});
html 代码是这样的:
<div class="nav"><a href="example1.html" rel="tab">Page 1</a></div>
<div class="ajax-content">
<div class="title"><a href="title_page.html" rel="tab">Title</a></div>
</div>
现在,如果我单击加载 ajax 内容的 div 外部的“第 1 页”,它正在工作,但如果我单击 div 内的“标题”,则重新加载整个页面(ajax 不工作)。 是否可以使“标题”链接(位于加载 ajax 内容的 div 内)工作?
【问题讨论】:
-
这正是您绑定点击处理程序的方式吗?
标签: javascript jquery html