在Hashchange上更新变量

时间:2017-12-04 06:36:15

标签: javascript jquery single-page-application

我正在尝试使用一个始终与单个网站上的URL哈希值匹配的变量。

            try (ObjectOutputStream out =
                           new ObjectOutputStream(socket.getOutputStream()) {
               .....
            }

使用上面的代码可以创建所有过去更改的列表,而不是当前的哈希值。

$(window).on('hashchange', function() {
    var hashTag = window.location.hash;
    $('#btn').click(function(){
        console.log(hashTag)
    });
});

这没有用

1 个答案:

答案 0 :(得分:0)

这是因为您一次又一次地附加button click事件侦听器。请将您的按钮事件监听器移到hashchange事件之外,如下所示

var hashTag = "";

$(window).on('hashchange', function() {
    hashTag = window.location.hash;
});

$('#btn').click(function(){
    console.log(hashTag)
});

现在,button附加了一个永久事件监听器,它显示hashTag变量的值。在hashchange hashTag变量的值已更新。