2012-03-05 5 views
-1

マイページのすべてのhrefリンクにクラス名を使用しています。 たとえば、クラスセレクタがAJAXを介して読み込まれたツールチップのコンテンツでは機能しません

<a href="https://mysite.com" class="ajax"> 

そして、ページを更新せずにコンテンツをロードするために、そのクラスを選択し、

$(".ajax").on('click',function() { 
    event.preventDefault(); 
    return false; 
    var t = $(this).attr("href"); 
    History.pushState(null, 'TEST', t); 
}); 

しかし、私は、ツールチップにコンテンツをロードする場合、動作しません。

上記のコードをdocument.ready州に追加して読み込まれたツールチップのコンテンツに追加しようとしましたが、機能しませんでした。

どうすればいいですか?

おかげ

P.S:私は私のすべてのツールチップ・ソリューション用チップソーのプラグインを使用しています。

+0

コード '後の戻りfalse'のは実際には実行されません。それを関数内の最新のステートメントに移動し、それが機能しているかどうかを確認します。 –

答えて

1

あなたは履歴機能を実行する前に、でpreventDefaultは十分なはずですが、あなたはイベントが必要になり、機能(E)に「e」を気づくfalseを返すされている:あなた、

$(document).on('click', '.ajax', function(e) { 
    e.preventDefault(); 
    var t = $(this).attr("href"); 
    History.pushState(null, 'TEST', t); 
}); 
+0

History.jsプラグインはそのようにドキュメント化しています var History = window.History; //注:私たちは、より低いhの代わりに大文字のHを使用しています。 –

+0

ああ、それはプラグインなので、大文字のHを使うべきです。ネイティブのwindow.historyは大文字のHではありません。 – adeneo

+0

私は試しました。しかし、動的に読み込まれたコンテンツのリンクはまだページを更新します:S –

1

ますreturn false;たら関数はその時点でただちに終了します。そのような

構造には:

$(".ajax").on('click',function() { 
    History.pushState(null, 'TEST', $(this).attr("href")); 

    return false; 
}); 
+0

これを試しました。それでも仕事はしません。動的に読み込まれたコンテンツのリンクをクリックするとページが更新されます –

+0

@ adeneoの答えをお試しください。 – Blender