我正在尝试对一个不使用 ajax 的 50 页网站进行现代化改造,因此很难维护,因为每次编辑都必须在 50 页上完成。
现在我已经删除了所有 50 页重复的 HTML,但效果不佳:
function hijax() {
$("a").click(function (e) {
e.preventDefault();
var url = this.href;
if (url.indexOf("index.html") != -1) {
$('#ajax').load("home.html", function () {
hijax();
});
}
else {
$('#ajax').load(url, function () {
hijax();
});
}
});
}
这适用于主页,但通过 Ajax 加载的链接不会被劫持。似乎回调是在加载 HTML 之前完成的。有什么办法可以解决吗?
编辑:
回应贝尔吉:
$('#ajax').load("home.html", function (e) {
hijax();
});
传入event
回调会导致原始代码按预期工作。不过,乔的解决方案看起来更优雅,所以我坚持这样做。多谢你们。