基本的に、アンカーを変更するリンク(URLの#記号の後の部分)をページ全体に配置したいと思います。URLのその部分が変更されると、JavaScriptが応答するはずです。
すべてのリンクにonclickメソッドを追加できますが、もっと良い方法はありますか?
基本的に、アンカーを変更するリンク(URLの#記号の後の部分)をページ全体に配置したいと思います。URLのその部分が変更されると、JavaScriptが応答するはずです。
すべてのリンクにonclickメソッドを追加できますが、もっと良い方法はありますか?
$(window).bind('hashchange', function() {
  // code here
});
それがそれをするべきだと思う
それはアンカーではありません、それはハッシュですか?
$(window).on('hashchange', function() {
    alert('My fracking hash changed to : '+document.location.hash);
});
jQueryでは、個々のすべてのリンクにonclickイベントを追加する必要はありません。このようなセレクターを使用する$('a')と、すべてのリンクにイベントを一度に追加できます。
$('a').click(function(){
    // code here
});
このイベント内では、$(this)オブジェクトを使用してを取得できますhref。
しかし、他の答えは、この問題を解決するためのよりエレガントな方法を示していることをお勧めします。
まず、要素を選択する必要があります。
たとえば、varlinks = $( "a");
次に、jquery関数.click()を追加します
にデリゲートを追加できますa、
$(elements).on(events、selector、data、handler);
違いは、onClickすべての要素に「」を追加するわけではありませんが、「 」イベントをaキャッチすることです。onClicka
これを試して
window.location.hashします。たとえば、currentHashwindow.location.hash !== currentHashcurrentHash = window.location.hashsetIntervalonを使用してこの関数を実行しますDOMReadySammy.jsはここでのあなたの友達です。私は自分が取り組んでいるスパでそれを使用しました、そして私はそれが大好きです!