0

所以我有一个网址,它可能是 mywebsite.com/index.html#Jobs

我首先需要在我做的哈希之后得到名字

var $ext = $(location).attr('hash');
$ext= $ext.replace("#","");

问题是知道此哈希标记何时在实时事件中更改而不是页面刷新

这就是我尝试过的

var $ext = $(location).attr('hash');

$ext.('change', function() {

  console.log("changed");
});

我知道这不起作用,因为 $ext 不是元素,但需要一些帮助。

任何想法都非常受欢迎。

4

1 回答 1

0

使用这个插件:http ://benalman.com/projects/jquery-hashchange-plugin/

并使用此代码:

$(window).hashchange( function() {
    var hash = location.hash;
    myfunc(hash);
});
function myfunc(hash)  {
    alert(hash);
}

您也可以使用但有一些兼容性问题:

window.onhashchange = function() {
    alert(window.location.hash);
}

检查浏览器是否支持 hashchange:

if ("onhashchange" in window) {
    alert("The browser supports the hashchange event!");
}
于 2013-01-30T03:09:56.250 回答