使用jquery on方法知道url中哈希值的变化

时间:2013-01-30 03:05:58

标签: jquery

所以我有一个url,可能是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不是一个元素,但想要一些帮助。

任何想法都非常受欢迎。

1 个答案:

答案 0 :(得分: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!");
}