$(window).bind('hashchange',function() - 需要的建议

时间:2012-02-08 11:40:55

标签: javascript jquery

这看起来是在变化时从网址中获取#value的最佳方式,它确实有效,但只是想知道是否有更好的方法。

$(function () {
    $(window).bind('hashchange', function () {
        var hash = window.location.hash;
        var map = {
            one: 1,
            two: 2,
            three: 3,
            four: 4
        };
        var hashValue = map[hash.substring(1)];
        alert(hashValue);
    });
});

1 个答案:

答案 0 :(得分:0)

您可以使用jquery.history插件:http://tkyk.github.com/jquery-history-plugin/

它可以帮助您避免hashchange事件的一些crossbrowser问题。

function loadContent(hash) {
    alert(hashValue);
    // you can do some ajax here  
}

$(document).ready(function() {
    $.history.init(loadContent);
});