1

如何使链接 a href="#" 在单击时在 URL 中不显示 # 并且不向上滚动页面?

我在http://www.offroadstudios.com/creative-agency看到过 但无法了解他们是如何做到的。左侧菜单包含一个 href="#" 但它的行为方式与我要求的方式相同。

4

5 回答 5

5

查看该站点,他们似乎正在使用 jQuery 来更改可见内容。要防止 a#出现在您的浏览器栏中,您可以preventDefault

$("a.myLinkClass").click(function(e){
   e.preventDefault();
   //do something..
});

见演示:http: //jsfiddle.net/SJuwL/show

于 2012-08-01T09:13:30.523 回答
2

在主题作者链接中,他们使用了这个:

jQuery(document).ready(function() {     
    jQuery('.product-selector').each(function(i, element) {
        jQuery('.product-selector.product-' + i).click(function() {
            jQuery('a#products-top').focus();
            if (producttool == false) {
              producttool = true;
            }

            // Return false so that the page doesn't switch.
            return false;
        });
    });
});

因此,您的问题的答案是return false;在 onclick 事件中。

在这里演示:http: //jsfiddle.net/FSou1/K3p2W/

于 2012-08-01T09:32:09.827 回答
1
$('a[href="#"]').click(function(event){

    event.preventDefault();

});
于 2012-08-01T09:12:48.260 回答
0

攻击链接的点击处理程序并阻止默认操作

$('a').click(function(){return false});

http://jsfiddle.net/MjyzK/show/

于 2012-08-01T09:13:48.660 回答
-2

要链接跳转到 HTML 文件中的某个位置,可以使用命名的锚标记。

    <a name="here"></a>
    <a href="#here">LINK</a> <!-- jumps to the position "here" -->
于 2012-08-01T09:14:39.743 回答