popstate返回event.state未定义

时间:2011-10-22 16:35:33

标签: jquery html5 history pushstate

我正在学习HTML5中的历史记录,在此示例中(打开JavaScript浏览器控制台以查看错误)event.state.url返回:

Uncaught TypeError: Cannot read property 'url' of undefined

查看和帮助:http://jsfiddle.net/un4Xk/

1 个答案:

答案 0 :(得分:46)

event是jQuery事件对象,而不是DOM事件对象。

要访问DOM事件对象,请使用event.originalEventhttp://jsfiddle.net/pimvdb/un4Xk/1/

var state = event.originalEvent.state;

请记住,状态仅在新状态具有数据时定义,因此在单击然后返回初始状态时不可用:

  1. 初始状态
  2. 链接到州1
  3. 返回初始状态按钮(无可用数据)
  4. 然而,点击,点击其他时间然后返回时可以使用

    1. 初始状态
    2. 链接到州1
    3. 链接到州2
    4. 返回状态1的按钮(可用数据)