jQuery 地址 - 后退按钮

标签 jquery

您好,我正在尝试让 AJAX 网站和 jquery.address-1.3.2.min.js 正常工作。

我有 .click() 事件使用 .load 来成功更新 DIV。 我已经更新了,例如:rel="address:profile",当我点击不同的链接时,我可以看到 URL 发生变化。

我还将此代码放入:

$(function() {
  $.address.change(function(event) {
    alert('here');
  });
});

我可以看到 .change() 事件正在被触发。

我不确定如何编写代码以使后退/前进按钮实际工作(抱歉,我是 JQUERY 的新手)。我在网上看到过例子,但仍然很困惑。希望有一个非常简单的例子。

我还需要重新运行 .load() 来再次加载 DIV 吗?也就是说,警报触发器并不孤立于后退或前进浏览器按钮点击。

谢谢

最佳答案

现在您需要在 $.address.change() 事件中对 div 进行必要的更改以达到所需的状态,所有页面状态更改都将在该事件中进行。

在jquery地址中,您需要执行两个基本任务,首先,使您的链接更改深层链接值,使用像您一样的事件,但使它们更新$.address.value(value_here)方法;其次,使用 change() 事件捕获所有更改,以将更改应用于页面状态。

例如,您还可以使用 value() 属性来确定正确的状态

$("a").onClick(function () {            //You dont need this part if you used
  $address.value($(this).attr('href')); //the 'rel' attribute in the links
});

$.address.change(function(event) {     //Catching URL change in `event`
  $.ajax({                             //You said you're using AJAX so
    url: "."+event.value+".html",      //using `value` attr. to get the URL+html
    cache: true,
    success: function(response) {
      $("#content_div").html(response);    //loading page in div using AJAX
    }
  });
});

这只是一个示例,您可以使用它以您喜欢的任何其他方式加载页面,因为 $.address.value() 返回 # 之后的值> 这就是你的深度链接值(value)。

完成此操作后,后退和前进按钮将更改页面的 URL,change() 事件将捕获该变化,并且您的页面将按预期工作。

所以基本上你需要对 jquery 地址如何工作有一定程度的了解,并围绕它工作你的代码。另外,jquery 地址文档页面有所有方法和事件的列表,以防您忘记其中任何一个。

关于jQuery 地址 - 后退按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5087222/

相关文章:

javascript - CSS3 的浏览器兼容性问题

javascript - Jquery 根据不同列的多个值隐藏表行

当延迟 Ajax 请求完成时,Jquery Each 循环一个又一个

javascript - CSS固定位置改变滚动高度

c# - JSON Post 我的 .NET MVC 2 Controller 需要什么参数

javascript - Jquery UI Range Slider - 将数字转换为货币

javascript - Jquery Sortable,在启用溢出的容器内使用链表

jquery - 仅使用客户端模板和 Rest 调用的单个 HTML 站点

c# - 开发简单 ASP.NET 站点的最佳实践(内置控件或 JQuery + 脚本)

javascript - 为什么我的 forEach 循环不能处理 $ ('img' 返回的图像数组)?