javascript - 标签 ajax 无法持续​​工作

标签 javascript html ajax

我正在关注this页面来制作 ajax 站点。这相当简单,但我遇到的问题是链接,它们只是

   <a href="link.html">Link</a>

倾向于忽略主题标签更改并直接进入 link.html 页面,导致重新加载,而不是使用 ajax 来更新内容。

当我点击后退按钮时,ajax 部分起作用,然后当我单击那里的链接时,它起作用 - 知道页面第一次登陆时是什么导致了这种行为吗?

我正在使用 jQuery UI 中的导航器菜单,如果您需要更多信息,请告诉我,我会尽快发布。

感谢您的帮助!

这是控制ajax行为的dynamic.js文件:

$(function() {

    var newHash      = "",
        $mainContent = $("#main-content"),
        $pageWrap    = $("#page-wrap"),
        baseHeight   = 0,
        $el;

    $pageWrap.height($pageWrap.height());
    baseHeight = $pageWrap.height() - $mainContent.height();

    $("nav").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({
                                height: baseHeight + $mainContent.height() + "px"
                            });
                        });
                        $("nav a").removeClass("current");
                        $("nav a[href='"+newHash+"']").addClass("current");
                    });
                });
        };

    });

    $(window).trigger('hashchange');

});

最佳答案

当我查看页面的源代码时,您拥有执行此操作的代码:

$( "#menu" ).menu({

});

在里面,你有:

location.href = link.attr( "href" );

我有一种感觉,因为除了 hashchange 处理之外,它还执行它,所以它被调用并覆盖(以任何方式)AJAX 加载内容。如果您删除/注释该行,它可能会起作用,但请确保您的网站在进行此更改后仍能按您想要的方式运行。

关于javascript - 标签 ajax 无法持续​​工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13166898/

相关文章:

javascript - 如何在 Vue 中切换 "v-if"时更新 Canvas ?

javascript - 循环遍历范围并使用 jQuery 将值分配给最近的下拉列表

jquery - jQuery ajax处理204无内容

ASP.Net ScriptControl - 添加 Javascript get_events 方法 : Possible?

ajax - spring 400 错误请求。我该如何修复它,或者至少看看是什么原因造成的?

javascript - 使用 html 输入提供的信息

javascript - 从 json(而不是 ajax)填充数据表

html - IE 自动倒转阿拉伯文承租人

javascript - 从变量 jQuery 中减去 1

html - CSS完美方形网格略有不完美;谁知道从哪里形成的小边距