Wir haben einige Seiten, auf denen Ajax zum Laden von Inhalten verwendet wird, und es gibt einige Fälle, in denen wir einen Deep Link zu einer Seite erstellen müssen. Anstatt einen Link zu "Benutzer" zu haben und den Leuten zu sagen, dass sie auf "Einstellungen" klicken sollen, ist es hilfreich, Leute zu verlinken anzuweisen den Einstellungen user.aspx # können
Damit die Leute uns korrekte Links zu Abschnitten (für technischen Support usw.) zur Verfügung stellen können, habe ich es so eingerichtet, dass der Hash in der URL automatisch geändert wird, wenn auf eine Schaltfläche geklickt wird. Das einzige Problem ist natürlich, dass in diesem Fall auch die Seite zu diesem Element gescrollt wird.
Gibt es eine Möglichkeit, dies zu deaktivieren? Unten ist, wie ich das bisher mache.
$(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;
});
});
Ich hatte gehofft, das return false;
würde das Scrollen der Seite verhindern - aber dadurch funktioniert der Link überhaupt nicht. Das ist also erst einmal auskommentiert, damit ich navigieren kann.
Irgendwelche Ideen?