如何停止主题标签的默认点击行为?

Xav*_*ier 1 jquery hashtag

可能重复:
使用jquery停止默认主题标签行为

我在一个链接上有一些jquery代码,它使用.load()将DIV加载到页面中,它还为URL添加了一个hashtag用于分页/书签目的; 我想要做的是在单击链接时停止页面跳转到div.

$('#jqNav li a').click(function(){

    if($(this).parent().is(".nav1")){ $('.landing .main .nav ul').css({ "background-position" : "0 -50px" });} 
    else if($(this).parent().is(".nav2")) {    $('.landing .main .nav ul').css({ "background-position" : "0 -100px" });}
    else if($(this).parent().is(".nav3")) {    $('.landing .main .nav ul').css({ "background-position" : "0 -150px" });}
    else if($(this).parent().is(".nav4")) {    $('.landing .main .nav ul').css({ "background-position" : "0 -200px" });};


    stopAnim = true;
    $page = $(this).attr('href');
    var $hashTag = $(this).attr('name');
    window.location = "#" + $hashTag;
    loadData();
    e.preventdefault();
    return false;

});
Run Code Online (Sandbox Code Playgroud)

Nea*_*eal 7

尝试e.preventDefault();在链接点击上使用use

尝试使用$(window).scrollTop(0);以防止#影响页面


Pee*_*Haa 5

你可以用e.preventDefault()

http://api.jquery.com/event.preventDefault/

或使用:

return false;
Run Code Online (Sandbox Code Playgroud)

哪个都preventDefault()stopPropagation()

http://api.jquery.com/event.stopPropagation/

编辑

不要以为你想做什么就可以了.因为在不转到该URL的情况下能够更改页面的URL是不明智的.

例如,您可以将网址更改为银行的网址,让用户认为您的网页代表银行.

也许它只在添加一个哈希值时才有用,所以你可以试试下面的内容(没有测试过,可能很不行):

window.location.hash = $hashTag;
return false;
Run Code Online (Sandbox Code Playgroud)

EDIT2

我知道我刚刚告诉你它不起作用但我只是偶然发现这篇文章在SO上使用HTML5来做你想做的事情:

有没有办法在不刷新页面的情况下更改浏览器的地址栏?

再次未经测试:)