jQueryクリックイベント関数では、基本イベントが完了する前にクリックイベントが発生し、URLが更新されるので、イベントを制御できます。つまり、リンクのハッシュはまだ利用できません。window.location.hash
clickイベント/関数中にURLハッシュを取得する
e.target.hash
は、ハッシュ値を取得するために<a>
要素に到達するよりも優れています。またはonclick
イベントを介して必要な変数を渡しますか? 「より良い」とは、ブラウザ間の互換性やエラーが発生しやすいことです。例えば
:
<a class="accountLink" href="#account/123456">Account 123456</a>
$('.accountLink').click(function(e){
console.log(e.target.hash);
console.log(window.location.hash);
});
ログイン:
#account/123456
(blank on initial click)
https://jsfiddle.net/r1xpsut1/1/
パーフェクト、ありがとうロリー!ハッシュ更新を監視する1つの関数が、このインスタンスに確実に収まり、簡略化されます。 –