onhashchange - フラグメント識別子の変更時に発火する
投稿日:
JavaScriptの、イベントハンドラのonhashchange
は、フラグメント識別子が変更した時に発火して処理を実行します。
説明
https://syncer.jp/index.html#section-1
イベントハンドラのonhashchange
は、フラグメント識別子の変更時に発火するイベントです。フラグメント識別子とは、ページ内リンクなどで移動した時にURLに付くハッシュ文字(#
)以下の識別子で、ドキュメントの位置を示すものです。このイベントは、windowオブジェクトに設定します。
サンプルコード
// 処理を定義
var action = function() {
// 処理内容
}
// イベントを設定 ( addEventListener )
window.addEventListener( "hashchange", action ) ;
// イベントを削除
window.removeEventListener( "hashchange", action ) ;
// イベントを設定 ( onhashchange )
window.onhashchange = function() {
// 処理内容
}
// イベントを削除
window.onhashchange = null ;
デモ
ページ内リンクをいくつか用意したのでクリックしてみて下さい。フラグメント識別子が変わることでイベントが発生します。イベントが発生するごとに、発生回数がカウントアップされます。URLアドレス欄を確認したい人は、大変お手数ですが、新しくウィンドウを開いて下さい。
関連項目
- Location - ブラウザロケーションのオブジェクト。
- Location.assign() - コンテンツをロードして表示する。
- Location.reload() - ドキュメントをリロードする。
- Location.replace() - 現在のURLを置換する。
外部リンク
- HTML Living Standard - WHATWGによる仕様書。