我使用以下示例进行哈希更改:
$(window).trigger('hashchange');
$('.navBtn').bind('hashchange',function(){
var hval = location.hash.slice(1); // remove the leading #
alert(hval);
});
但似乎什么也没发生,我没有得到任何警报。任何想法为什么?
我使用以下示例进行哈希更改:
$(window).trigger('hashchange');
$('.navBtn').bind('hashchange',function(){
var hval = location.hash.slice(1); // remove the leading #
alert(hval);
});
但似乎什么也没发生,我没有得到任何警报。任何想法为什么?
您只需要
//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。这是由浏览器处理的。即单击链接将更改哈希,然后将触发窗口事件“hashchange”。
您在绑定处理程序之前触发事件。颠倒顺序再试一次?
另外,我不确定,但是您正在触发窗口元素上的事件,但将其绑定在一组子元素上。我不知道这将如何运作。
你必须:
使用相同的选择器
$(window).bind('hashchange',function(){
var hval = location.hash.slice(1); // remove the leading #
alert(hval);
});
$(window).trigger('hashchange');
Hashchange 发生在window
对象上。你想表达什么$('.navBtn').bind('hashchange', ...)
意思?