如何使 ajax 加载页面中的链接加载其他页面
How to make links in ajax loaded page load other pages?
问题:动态加载页面中的链接不会动态加载其他页面。
在我的索引页面上,我有如下链接:
<li><a class="page_one" title="page_one" href="page_one.html">Page One</a></li>
<li><a class="page_two" title="page_two" href="page_two.html">Page Two</a></li>
这些使用脚本 dynamicpage 将外部页面<div id="guts">
内的内容动态加载到索引页面上具有相同 id 的div 中.js(如下),除非 javascript 关闭,否则它将简单地正常加载外部页面。
这是javascript:
$(function() {
var newHash = "",
$mainContent = $("#main-content"),
$pageWrap = $("#page-wrap"),
$el;
$(".dyn").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({
});
});
$(".dyn a").removeClass("current");
$(".dyn a[href="+newHash+"]").addClass("current");
});
});
};
});
$(window).trigger('hashchange');
});
索引页面上的链接工作正常,但例如,如果我想从动态加载的page_1.html链接到page_2.html,page_2正在正常加载并且没有将 url 更新为/#page_2.html
我尝试将 .delegate 更改为 .live,但这完全停止了它的工作。
谁能把我推向正确的方向?
提前感谢!
试试这个:
$("#main-content").delegate(".dyn a", "click", function() {
window.location.hash = $(this).attr("href");
return false;
});
原因如下:您的函数
$(".dyn").delegate("a", "click", function() {
window.location.hash = $(this).attr("href");
return false;
});
在匹配的.dyn
元素中的现有元素和新<a>
元素上正确绑定click
处理程序。因此,如果要向.dyn
元素添加新的<a>
标记,脚本将按预期工作。
但是,$mainContent.hide().load(...
方法将$("#mai-content")
的内容替换为新加载的内容,这意味着您已经替换了原始$(".dyn")
因此委托函数现在正在监视已删除的.dyn
。
将委派匹配项移动到$("#main-content")
,您将维护一个活动的"实时"或"委托"观察程序,该观察程序将定义的单击处理程序正确绑定到新的.dyn a
元素。
相关文章:
- JavaScript链接在点击时不起作用;函数在页面加载时工作
- 使用JavaScript从超链接加载时的默认下拉值
- Yii2从点击链接开始加载模式
- 单击同一链接时,使Iron Router重新加载页面
- 更改css链接并等待加载新的css
- href没有在每次单击li的一部分时加载链接.使用javascript使整个li可以点击
- 无法加载套接字.io.js
- jQuery UI选项卡:在选项卡中加载链接/重新加载整个页面
- 重新加载链接文件 HTML
- 在单击链接时运行数据库查询,但仍加载链接URL
- 如何为captcha添加重新加载链接
- 在浏览器中查看之前,预加载链接的php页面
- 可视化javascript加载链
- JQuery -幻灯片,图库:顺序加载图片(接下来的五张),而不是一次全部加载
- jQuery点击类加载链接
- jQuery fade "back to top"链接.页面加载链接可见性
- 在容器内加载链接(Bootstrap - template)
- 加载<链接rel="将原始内容转换为<样式>标签
- 如何从配置中加载套接字io事件监听器
- 从外部源加载链接内部模态