JavaScript窗口#hash操作

时间:2013-06-13 22:19:52

标签: javascript jquery

我在页面上有两个链接

<a href="#Form">Form</a>
<a href="#Image">Image</a>

我做了一个简单的点击。

$('a[href="#Form"]').on('click',function(){
    alert("hi");
});

我也喜欢HASH。

if(window.location.hash = "#Form"){alert("hi");}

一旦页面加载,它会显示ALERT,然后我点击图片链接,网址变为www.myweb.com/#Image,如果我按(历史记录)按钮,网址看起来www.myweb.com/#Form但是alert("hi")不是不再工作了。

即使按下按钮,我还可以使它仍然有效吗?

2 个答案:

答案 0 :(得分:3)

您可以尝试以下方式:

$(window).on('hashchange',function(){
    if(document.location.hash == '#Form'){
        alert('hi')
    }
});

答案 1 :(得分:1)

首先你的情况是错的: -

if(window.location.hash = "#Form"){alert("hi");}

to 

if(window.location.hash == "#Form"){alert("hi");}

你需要绑定hashchange事件的其他事情。并非所有浏览器都支持此事件。在这种情况下,您需要使用javascript的setInterval函数检查哈希更改。