Nous avons quelques pages utilisant ajax pour charger du contenu et il y a quelques occasions où nous devons créer un lien profond dans une page. Au lieu d'avoir un lien vers "Utilisateurs" et de dire aux gens de cliquer sur "Paramètres", il est utile de pouvoir associer des personnes à user.aspx # settings
Pour permettre aux gens de nous fournir des liens corrects vers des sections (pour le support technique, etc.), je l'ai configuré pour modifier automatiquement le hachage dans l'URL chaque fois qu'un bouton est cliqué. Le seul problème est bien sûr que lorsque cela se produit, cela fait également défiler la page jusqu'à cet élément.
Existe-t-il un moyen de désactiver cela? Voici comment je fais cela jusqu'à présent.
$(function(){
//This emulates a click on the correct button on page load
if(document.location.hash){
$("#buttons li a").removeClass('selected');
s=$(document.location.hash).addClass('selected').attr("href").replace("javascript:","");
eval(s);
}
//Click a button to change the hash
$("#buttons li a").click(function(){
$("#buttons li a").removeClass('selected');
$(this).addClass('selected');
document.location.hash=$(this).attr("id")
//return false;
});
});
J'avais espéré que return false;
cela empêcherait la page de défiler - mais cela empêche simplement le lien de fonctionner du tout. Donc c'est juste commenté pour l'instant afin que je puisse naviguer.
Des idées?