1

ハッシュ変更に次の例を使用しています。

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

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

しかし、何も起こらないようです。アラートは表示されません。なぜ何かアイデアはありますか?

4

4 に答える 4

5

あなたはただ必要です

//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」が発生します。

于 2012-04-24T16:13:31.100 に答える
1

ハンドラーをバインドする前にイベントをトリガーしています。順序を逆にして再試行しますか?

また、よくわかりませんが、ウィンドウ要素でイベントをトリガーしていますが、一連のサブ要素でイベントをバインドしています。それがどのように機能するかわかりません。

于 2012-04-24T16:10:02.893 に答える
1

必ず:

  1. 順序を逆にします:バインドしてからトリガーします
  2. 同じセレクターを使用する

    $(window).bind('hashchange',function(){ 
      var hval = location.hash.slice(1); // remove the leading #
      alert(hval);
    }); 
    $(window).trigger('hashchange');
    
于 2012-04-24T16:16:50.430 に答える
0

ハッシュチェンジはオブジェクトで発生しwindowます。どういう$('.navBtn').bind('hashchange', ...)意味ですか?

于 2012-04-24T16:09:54.270 に答える