jquery中的hashchange?

jquery中的hashchange?,jquery,Jquery,Im使用以下示例进行哈希更改: $(window).trigger('hashchange'); $('.navBtn').bind('hashchange',function(){ var hval = location.hash.slice(1); // remove the leading # alert(hval); }); 但似乎什么也没发生,我没有得到任何警觉。知道为什么吗?Hashchange发生在窗口的对象上。$('.navBtn').bind('hash

Im使用以下示例进行哈希更改:

$(window).trigger('hashchange');

$('.navBtn').bind('hashchange',function(){ 
    var hval = location.hash.slice(1); // remove the leading #
    alert(hval);
}); 

但似乎什么也没发生,我没有得到任何警觉。知道为什么吗?

Hashchange发生在
窗口的对象上。
$('.navBtn').bind('hashchange',…)
的意思是什么?

hashchange发生在
窗口的对象上。
$('.navBtn').bind('hashchange',…)
的意思是什么?

您在绑定处理程序之前触发了事件。是否颠倒顺序并重试


另外,我不确定,但您正在触发window元素上的事件,但将其绑定到一组子元素上。我不知道这将如何工作。

您正在绑定处理程序之前触发事件。是否颠倒顺序并重试

另外,我不确定,但您正在触发window元素上的事件,但将其绑定到一组子元素上。我不知道该怎么做。

你只需要

//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
$(window).bind('hashchange',function(){
var hval=location.hash.slice(1);//删除前导字符#
警报(hval);
}); 
哈希更改事件在窗口上激发。不需要js来更改哈希。这是由浏览器处理的。ie单击链接将更改哈希值,然后将触发窗口事件“hashchange”。

您只需要

//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
$(window).bind('hashchange',function(){
var hval=location.hash.slice(1);//删除前导字符#
警报(hval);
}); 
哈希更改事件在窗口上激发。不需要js来更改哈希。这是由浏览器处理的。ie单击链接将更改哈希值,然后将触发窗口事件“hashchange”。

您必须:

  • 颠倒顺序:绑定然后触发
  • 使用相同的选择器

    $(window).bind('hashchange',function(){ 
      var hval = location.hash.slice(1); // remove the leading #
      alert(hval);
    }); 
    $(window).trigger('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将获得哈希值。您的导航按钮只应设置哈希值,即
    href=“#home”
    ,然后
    窗口上会出现
    哈希值更改
    。您应该正在侦听窗口对象上的hashchange事件。当您单击导航按钮时,它将加载url a href“/something#home”,然后jquery将获得哈希值。您的导航按钮只应设置哈希值,即
    href=“#home”
    ,然后
    窗口上将出现
    hashchange
    。您应该正在侦听窗口对象上的hashchange事件。