我使用下面的jquery hijaxing。它非常整洁,因为它假定大多数链接“想要”拼接,但让那些不通过“nohijax”类别“退出”的链接。 它为什么偶尔会失败?尼斯hijax偶尔失败
$("#content a:not(.nohijax), #footer a:not(.nohijax)").live("click", function() {
$.get($(this).attr("href"), function (response) {
$("#content").replaceWith($("#content", response));
});
return false;
});
它可以在Chrome 100%,100%,在IE9中我的机器上,但在IE经常出现故障的其他机器。失败并不一致。即使在一台“失败”的机器上,hijaxing大部分时间都在工作,但突然间一个点击链接会出现“无所事事”,因为旧内容不会被新的内容取代。 “在新标签中打开”始终有效,表明新内容确实已发送。
我试着在这里研究这个问题。必须小心使用.not()和.live(),但我相信我有这个权利。另外,被替换的元素(这里是一个带有id =“content”的div)不能是body元素的直接子元素。它不是(其间还有另一个div)。
如果没有明显的吼叫者,我该如何追踪发生了什么? (我是JavaScript和浏览器开发的新手)。谢谢。
感谢您的快速反应安德烈,它已经把我在正确的轨道上,我已经做了使用.on()代替.live()的小测试,它取代了jquery 1.7。很好地工作,但我没有时间在原始上下文中检查它;我会报告它是否解决了这个问题。还要感谢console.log提示。对不起,我不能投票回复你的回复,因为我是新人。 – EyeNine