使用jquery停止默认的#标签行为

And*_*las 8 url anchor jquery

我正在使用以下代码将一个hashtag附加到url的末尾.这样,有人可以复制该网址并将其带回该页面,某些div可见.

$("a.live").click(function() {
    window.location.hash = 'live'; 
    $("#live).slideDown();
});
Run Code Online (Sandbox Code Playgroud)

在这个例子中,我有一个名为"live"的div,当点击一个链接时会滑动,并且"#live"被添加到url中.然后我有代码在加载页面时检查哈希标记以显示正确的div.

我的问题是,如何阻止浏览器在调用后跳转到"live"div?我不希望页面向下滚动到div,只是希望它打开并附加了主题标签,这样一个人就可以复制它并返回那个显示div的页面.

有小费吗?

谢谢!

ste*_*e_c 8

这取决于.如果要在单击锚点时阻止它,请使用以下命令:

$("a.live").click(function(e) {
    e.preventDefault(); // Prevents browsers default action
    window.location.hash = 'live'; 
    $("#live").slideDown();
});
Run Code Online (Sandbox Code Playgroud)

如果你想在页面加载时阻止它滚动到哈希,我不知道你会如何阻止它.


sas*_*asa 8

试试这个:

$("a.live").click(function() {
    window.location.hash = 'live'; 
    $("#live").slideDown();
    return false; // this will prevent default action
});
Run Code Online (Sandbox Code Playgroud)