Javascript 单击包含哈希标记的链接时,不要将哈希标记添加到URL

Javascript 单击包含哈希标记的链接时,不要将哈希标记添加到URL,javascript,jquery,html,Javascript,Jquery,Html,我见过一些网站这样做 我有像 然后显示一个div。这当然会在地址栏的URL末尾添加#delete。有没有办法仍然调用#delete,但不将其添加到URL的末尾 例如,在一些弹出窗口中,您可以在左下角看到地址是https://github.com/settings/admin#delete_account_confirmation 但当你按下链接时,它不会在URL中添加#删除(账户)确认?但弹出窗口仍然显示。如何操作?只需调用其单击事件preventDefault()方法即可 document.

我见过一些网站这样做

我有像

然后显示一个div。这当然会在地址栏的URL末尾添加#delete。有没有办法仍然调用#delete,但不将其添加到URL的末尾

例如,在一些弹出窗口中,您可以在左下角看到地址是
https://github.com/settings/admin#delete_account_confirmation


但当你按下链接时,它不会在URL中添加
#删除(账户)确认
?但弹出窗口仍然显示。如何操作?

只需调用其单击事件
preventDefault()
方法即可

document.getElementById('preventAnchor')。addEventListener('click',函数(e){
e、 预防默认值();
var anchor=this.href.split(“#”)[1];
document.body.scrollTop=document.getElementById(anchor).offsetTop;//如果不想滚动,请将我注释掉
})
div,a{
边缘底部:1000px;
宽度:100%;
浮动:左;
显示:块;
}


测试
为了防止将其作为链接打开,正在使用一种名为
preventDefault
的方法:

$("a.popup").on("click", function(e) {
   e.preventDefault();

   // Your code here

});
$('a#u id')。单击(函数(e){
e、 预防默认值();
$('html,body')。设置动画({
scrollTop:$(“#div_id”).offset().top
}, 1000);
} );















































这是div
请共享您的代码:)您可以防止侦听器中的默认行为<代码>事件.preventDefault()
您可以通过删除href并在单击时创建一个方法来完成。如果您不想使用这些哈希,为什么要使用链接和哈希?@charlietfl removed stopPropagaton()
<a href="#delete">Delete</a>
<a href="javascript:void(0)">Delete</a>
$("a").on("click", function(e) {
   e.preventDefault();
});