2010-08-08 6 views
1

J'utilise this script pour charger des pages dans un cadre css (div # maincontent). Je veux que les liens dans les pages chargées se chargent dans ce cadre au lieu de simplement "y aller". Je veux le faire en utilisant jquery. Voici ma tentative:Charger des liens dans un cadre CSS?

$('#maincontent a').click(function(e) { 
    e.preventDefault(); 
    ajaxpage($(this).attr("href"), 'maincontent'); 
}); 

Répondre

1

Je ne sais pas ce que ajaxpage est, mais si vous chargez juste une page dans un div vous pouvez simplement utiliser load

Quelque chose comme ceci:

$('#maincontent a').click(function(e) { 
    e.preventDefault(); 
    $("#maincontent").load($(this).attr("href")); 
}); 

Editer: Si vous souhaitez que la page chargée dispose également de gestionnaires d'événements pour le clic, vous pouvez utiliser la fonction de rappel de load() pour cela. Comme ceci:

function engageLinks() {    
    $('#maincontent a').click(function(e) { 
     e.preventDefault(); 
     $("#maincontent").load($(this).attr("href"), function() {     
      engageLinks();    
     }); 
    }); 
} 
    // Call the function the very first time the page is loaded. 
    // After that the function will call itself. 
engageLinks(); 

Here's an example.

+0

Cela fonctionne sur la page de démarrage, mais après le chargement d'une autre page dans la zone de contenu, les liens "y vont". Comment puis-je réparer cela? – Ruby

+0

@Zephlon - Ajouté à la réponse. –

+1

Merci, ça marche maintenant. – Ruby

0

Remplacer ajaxpage avec $('#maincontent').load($(this).attr("href"));