ページ上部にはスティッキーメニューバーがあります。このページにはいくつかの内部リンクがあります。内部リンクをクリックすると、ページスクロールとハッシュコードIDを持つ要素が一番上に移動します。スティッキーメニューには見出しがありません。したがって、ウィンドウロード時には、以下のようにjsコードを記述しています。jqueryまたはjsがヒットしたときに検出され、同じハッシュコードに入力します。アドレスバーのURL
if(window.location.hash) {
var hash = window.location.hash.substring(1); //Puts hash in variable, and removes the # character
console.log (hash);
if(hash && $("#"+hash).length){
$("#"+hash).css('padding-top', '80px');
}
$(window).scroll(function() {
$("#"+hash).css('padding-top', '0');
});
}
ページがハッシュコードURLでロードされるときに問題なく動作します。
ユーザーがアドレスバーをクリックして何も変更せずにEnterキーを押すと、idがハッシュコードのagianである要素が先頭に移動し、今回はjsコードが実行されず、見出しがスティッキーメニューに表示されません。
アドレスバーにフォーカスがあってEnterキーを押したときにこのイベントを検出する方法はありますか?
この状況には他に解決策がありますか?
ありがとう、