0

セクション タイトルをクリックするか、グローバル サイト ナビゲーションのドロップダウンからリンクをクリックして、アコーディオン タイプのサブセクションが表示されるページがあります。

その意図は、ページ内のセクションをどこからでも直接アクセスできるようにすることです。

グローバル メニューには、次の形式のリンクがあります。

/pagename.aspx#anchor-name
/pagename.aspx#anchor-name2

グローバル ナビゲーションを介してクリックをキャプチャするには、次を使用します。

var anchor = window.location.hash;

if (anchor) {
    toggle_element(anchor_name);
}   

内部

$(document).ready

残念ながら.ready、ページが初めて読み込まれたときにのみ起動します。

をクリックして移動すると/pagename.aspx#anchor-name、スクリプトが実行されます。次に をクリックして/pagename.aspx#anchor-name2も、何も起こりません。

このアクティビティをキャプチャするにはどうすればよいですか?

4

2 に答える 2

0

このjQueryプラグイン http://benalman.com/projects/jquery-hashchange-plugin/でハッシュ変更イベントをリッスンする必要があります

于 2013-08-08T01:47:53.307 に答える
0

結局使ってしまった

window.onhashchange = anchor_change;

function anchor_change() {...}

このMozDev の参照http://caniuse.com/hashchangeに基づいて、IE8 以降でサポートされていることを示し、私のユースケースをカバーするほとんどの最新のブラウザーと共に.

IE8 はwindow.addEventListener("hashchange", anchor_change, false);フォーマットを理解できなかったため、window.onchange = anchor_change;バリエーションを使用する必要があったことに注意してください。

于 2013-08-08T18:17:49.337 に答える