1. ホーム
  2. javascript

[解決済み] ページをスクロールさせずにロケーションハッシュを削除するにはどうしたらいいですか?

2023-07-28 14:35:49

質問

からハッシュを削除することは可能ですか? window.location からハッシュを削除することは可能ですか?私は、ジャンプを引き起こすことなくハッシュを変更できるようにする必要があります。

私はこれを持っています。

$('<a href="#123">').text('link').click(function(e) {
  e.preventDefault();
  window.location.hash = this.hash;
}).appendTo('body');

$('<a href="#">').text('unlink').click(function(e) {
  e.preventDefault();
  window.location.hash = '';
}).appendTo('body');

実例を見るにはこちら http://jsbin.com/asobi

ユーザが' リンク をクリックすると、ページジャンプをせずにハッシュタグが変更されるので、問題なく動作しています。

しかし、ユーザーが ' リンク解除 をクリックすると、hasタグが削除され、ページが一番上にスクロールジャンプしてしまいます。私はこの副作用なしにハッシュを削除する必要があります。

どのように解決するのですか?

ダミーのハッシュを入れただけでは、スクロール先が一致しないため、スクロールしないと思います。

<a href="#A4J2S9F7">No jumping</a>

または

<a href="#_">No jumping</a>

"#" はそれ自体で "_top" と同じで、ページの一番上までスクロールします。