我希望在使用哈希标记后将其从网址中删除。 例如,当我点击下面的链接时:
<a href="#btnq1"><button type="button" name="" value="" id="btnq1">Just a button</button></a>
我希望在此链接上的操作发生后立即删除页面URL中显示的哈希标记#btnq1。 我尝试了下面的jquery代码没有成功:
$('#btnq1').click(function(event){
event.preventDefault();
// your action
});
即使这样可行,那么如何实现它以适用于添加到URL的每个哈希标记? 我想用javascript解决它。
答案 0 :(得分:7)
你可以尝试:
$(window).on('hashchange', function(e){
history.replaceState ("", document.title, e.originalEvent.oldURL);
});
答案 1 :(得分:0)
首先在您希望此行为的标记中添加一个类,或者添加一个html 5数据属性。然后你的链接就变成了;
<a href="#btnq1" class="remove-hash"><button>Button</button></a>
$('body').on('click', ".remove-hash", function(e){
$(this).removeAttr('href');
});