是否可以仅禁用锚滚动

时间:2019-06-04 09:17:09

标签: javascript jquery anchor

我实际上有一个项目列表,这要感谢href(例如#mat显示菜单),每个菜单都打开一个不同的菜单

  <div class ="row  d-none d-lg-block classer no-gutters ">
                <h4>Order by
<a class = "navigation" href="#mat" id="navMat"  >localisation</a> /  
<a class = "navigation" href="#new" id="navNew"  >new</a>

和这个jquery,用于突出显示当前活动项(例如:本地化)

    jQuery( document ).ready(function() {
        jQuery('.navigation').on('click', function(e){
            jQuery('.navigation').removeClass('navigationU');
            this.className = 'navigationU navigation';
        })
    });

问题是我希望此href在当前活动项目下划线,以打开菜单,但它会滚动到该菜单而我不想要它。

我已经尝试过e.preventDefault();,但是我禁用了所有功能:滚动,菜单的下划线和显示。

你有什么主意吗? 谢谢

1 个答案:

答案 0 :(得分:1)

尝试一下:

$(document).on('click', '[href^="#"]', function(e) {
   location.hash = e.target.hash;
   e.preventDefault();
});

它将禁用所有以#开头并重新创建的链接,以更新地址栏中的哈希值。