获取hashchange之前的哈希值

9 html javascript hash jquery

假设我的HTML是

<a href="#one">One</a>
<a href="#two">Two</a>
Run Code Online (Sandbox Code Playgroud)

和Js是

$(window).on("hashchange"){
alert(document.location.hash);
}
Run Code Online (Sandbox Code Playgroud)

我想获得哈希值更改之前的哈希值.这可能吗?如果是,那怎么样?

Ami*_*mit 12

用那个

$(window).on("hashchange", function(e){
    console.log(e.originalEvent.oldURL)
    console.log(e.originalEvent.newURL)
})?;
Run Code Online (Sandbox Code Playgroud)

演示:http://jsbin.com/ulumil/

  • Mozilla Firefox和os Windows 7你不应该问这个因为我想要一个跨浏览器兼容的答案 (2认同)
  • @ user1432124非常确定对方要求它帮你调试它... (2认同)

Pat*_*ity 9

您必须跟踪最后一个哈希,例如:

var currentHash = function() {
  return location.hash.replace(/^#/, '')
}

var last_hash
var hash = currentHash()

$(window).bind('hashchange', function(event){
  last_hash = hash
  hash = currentHash()
  console.log('hash changed from ' + last_hash + ' to ' + hash)
});
Run Code Online (Sandbox Code Playgroud)