Ändern der Position.hash ohne die Seite zu scrollen

Wir haben ein paar Seiten, die per ajax zu laden in Inhalt und es gibt ein paar Gelegenheiten, wo wir brauchen, um als deep-link in eine Seite. Anstatt einen link auf "Users" und den Leuten zu erzählen, klicken Sie auf "Einstellungen" es ist hilfreich, um in der Lage sein, um Menschen miteinander zu Benutzer.aspx#Einstellungen

Leuten zu erlauben, uns mit den richtigen links zu den einzelnen Abschnitten (für technischen support, etc.) Ich habe es eingerichtet, um automatisch ändern Sie den hash in der URL, wenn auf eine Schaltfläche geklickt wird. Das einzige Problem ist natürlich, dass, wenn dies geschieht, ist es auch scrollt die Seite bis zu diesem element.

Gibt es eine Möglichkeit, um dies zu deaktivieren? Unten ist, wie mache ich das bisher.

$(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;
    });
});

Hatte ich gehofft, dass das return false; würde aufhören, die Seite zu scrollen, aber es macht einfach den link nicht an allen arbeiten. Also, das ist nur auskommentiert jetzt, so kann ich navigieren.

Irgendwelche Ideen?

InformationsquelleAutor Chris Barr | 2009-09-28

Schreibe einen Kommentar