我有一个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)
时,只会为所有当前(现有)元素添加事件侦听器,而不会添加到将来添加的元素中。