我有一个JavaScript代码段,它可以拦截链接点击并将其转换为哈希值(我知道W3C建议书中没有hash-id :))

$("a").click(function(event) {
    event.preventDefault();
    newHash = $(this).attr("hash-id");
    console.log(newHash);
    if (typeof newHash === "undefined"){
    window.location = $(this).attr("href");
    }
    else{
    window.location.hash = "#" + newHash;
    }
});


基本上,每当用户单击任何链接时,如果没有链接,则应该获取它的“哈希ID”,这是因为它会定期加载页面。
现在:它在我的网站,页脚,页眉上都很好用,但是在我单击“已插入”内容后

$("#container").load(href + " #content");


它不起作用,不会将任何输出返回到控制台,警报,nada。

我尝试将代码放在两页的开头,结尾,页脚中,但是没有任何效果,有人知道如何使它起作用吗?

最佳答案

您应该使用$("a").live("click", function(){..}),以便将事件侦听器绑定到所有(现在和以后)a元素。

当您使用.click(func) = .bind("click", func)时,只会为所有当前(现有)元素添加事件侦听器,而不会添加到将来添加的元素中。

07-24 20:35