如何防止页面重新加载?
我有jQuery的问题,例如,我有这样的代码:如何防止页面重新加载?
<a href="#" id="docs"><img id="icon" src="icons/docs.png"/></a>
$("#docs").click(function() {
$("#content").load("docs.php").hide().fadeIn("slow");})
所有的东西工作正常,但,当我重新载入追溯到预览情况的网站,但我想要的网站仍然像点击链接时一样。
您可以使用#标签的URL来检测这一点。
首先,把你的ajax请求放在一个函数中,然后在两种情况下调用这个函数:a)当用户点击链接时; b)如果hashtag是“#load_docs”。
$(document).ready(function() {
function load_contents() {
$("#content").load("docs.php").hide().fadeIn("slow");
}
$("#docs").click(function() {
load_contents();
});
var hashtag = window.location.hash;
if (hashtag == "#load_docs") load_contents();
});
不要忘记添加href="#load_docs"
你的链接:
<a href="#load_docs" id="docs"><img id="icon" src="icons/docs.png"/></a>
谢谢你这个作品:) – 2012-02-29 06:26:19
只要确保你在return false;
里面点击处理程序。
所以:
$("#docs").click(function() {
$("#content").load("docs.php").hide().fadeIn("slow");
return false;
})
从点击处理程序返回false是否与防止用户重新加载页面有关? – villecoder 2012-02-28 21:56:20
我想他是说他不希望链接'#docs'刷新页面,返回false将防止发生,因为它不会执行实际的点击,只是处理程序中的代码。 – TheDelChop 2012-02-28 21:58:39
编号他在说(引用此处)“当我重新加载网站时,它会回到预览状态”。他没有说“当我点击链接”。 – villecoder 2012-02-28 22:00:18
你不能,但你可以警告用户不好的事情会发生。 http://stackoverflow.com/questions/3221161/how-to-pop-up-an-alert-box-when-the-browsers-refresh-button-is-clicked – asawyer 2012-02-28 21:53:29
有可能你可以使用jQuery/ajax来设置一个cookie /会话,然后使用服务器端代码来有条件地加载ajax加载的相同内容,如果cookie存在的话。如果一旦用Ajax加载内容就设置cookie,则用户可以重新加载页面,并且服务器将在加载页面时加载内容。 – 2012-02-29 00:34:56