我正在使用下面的示例来进行哈希更改:
$(window).trigger('hashchange');
$('.navBtn').bind('hashchange',function(){
var hval = location.hash.slice(1); // remove the leading #
alert(hval);
}); 但似乎什么都没发生,我没有收到任何警报。你知道为什么吗?
发布于 2012-04-25 00:13:31
你只需要
//the js
$(window).bind('hashchange',function(){
var hval = location.hash.slice(1); // remove the leading #
alert(hval);
});
<!--the html-->
<a href="#imTheHash">Click me</a>在窗口上触发散列更改事件。不需要js来更改散列。这是由浏览器处理的。ie点击链接将更改散列,然后将触发窗口事件'hashchange‘。
发布于 2012-04-25 00:10:03
您在绑定处理程序之前触发了事件。是否颠倒顺序并重试?
另外,我不确定,但是您在window元素上触发了事件,但是将它绑定到了一组子元素上。我不知道这是怎么回事。
发布于 2012-04-25 00:16:50
您必须:
$(window).bind('hashchange',$(window).trigger('hashchange'); (){ var hval = location.hash.slice(1);//删除前导#.bind(Hval);});window
https://stackoverflow.com/questions/10301733
复制相似问题