即时通讯使用哈希变化下面的例子:jQuery中的hashchange?
$(window).trigger('hashchange');
$('.navBtn').bind('hashchange',function(){
var hval = location.hash.slice(1); // remove the leading #
alert(hval);
});
但好像没有任何反应,我没有得到任何警告。任何想法为什么?
即时通讯使用哈希变化下面的例子:jQuery中的hashchange?
$(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'将被触发。
Hashchange发生在window
对象上。 $('.navBtn').bind('hashchange', ...)
意味着什么?
在绑定处理程序之前触发事件。颠倒订单并再试一次?
另外,我不确定,但是您在窗口元素上触发事件,但将它绑定到一组子元素上。我不知道如何工作。
你必须:
使用相同的选择
$(window).bind('hashchange',function(){
var hval = location.hash.slice(1); // remove the leading #
alert(hval);
});
$(window).trigger('hashchange');
url a href“/ something#home”,然后jquery将得到散列 – panthro 2012-04-24 16:14:11
你的导航按钮应该只设置散列,即'href =“#home”',然后'hashchange'将出现在'window'上。你应该在窗口对象上监听hashchange事件。 – 2012-04-24 16:18:00