左側のパネルと右側にコンテンツdivがあるWebサイトがあります。左側のパネルのリンクをクリックすると、Javascript Ajax呼び出しを使用して、コンテンツをdivタグ(「content」という名前)にロードします。
私の場合、divタグにロードされたビューにもリンクがあるので、通常、それらをクリックすると、まったく新しいページが開きます。呼び出されたのと同じdivタグにもロードしてほしい。
どうすればそれを達成できますか?
左側のパネルと右側にコンテンツdivがあるWebサイトがあります。左側のパネルのリンクをクリックすると、Javascript Ajax呼び出しを使用して、コンテンツをdivタグ(「content」という名前)にロードします。
私の場合、divタグにロードされたビューにもリンクがあるので、通常、それらをクリックすると、まったく新しいページが開きます。呼び出されたのと同じdivタグにもロードしてほしい。
どうすればそれを達成できますか?
同じページで新しいリンクを開くことについて質問している場合は、次を使用できます
$( "#target" ).click(function() {
var newurl="http://" + window.location["host"];
window.location.href = newurl; // or simply window.location
})});
#leftペインと#contentペインがあるとすると、次のことができます。
$(document).on('click', '#left a, #content a', function()
{
var href = $(this).attr('href');
if(!href || href[0] != '/') return; // relative URLs only
// Do your AJAX call here
});
このjquery構文を使用すると、ドキュメントにバインドしてフィルターを#left a
かけ#content a
、#leftまたは#content divに新しいアンカーが追加された場合でも、それらはそのクリックハンドラーに接続されます。その時点で、新しいページに移動するのではなく、AJAX呼び出しとして新しいコンテンツをロードするように指示するロジックを定義します。私はあなたが始めるためのデモロジックを与えました。