弹出窗口通过#link,关闭时如何删除网址中的#?

时间:2016-07-26 16:07:41

标签: javascript html

我打开了几个弹出窗口,例如http://example.tk/#example,关闭它们我使用:

<a href="#">Close</a>

关闭弹出窗口,但它保留了#符号,显然,有什么方法可以关闭它并删除#符号吗?

我用Google搜索并发现了这个:

<a href="javascript:void(0)">Close</a>

我已尝试过javascript:javascript:;

但这对我不起作用,我启用了JavaScript。

2 个答案:

答案 0 :(得分:3)

您已绑定了一个JavaScript函数,以便在单击链接时运行。您希望发生该功能,而不是遵循链接。因此,请阻止链接的默认行为。

document.querySelector("a").addEventListener("click", function (event) {
    event.preventDefault();
    open_popup();
});

...然后#永远不会将#添加到URL中。

完成后,您可以记住JavaScript can fail for many reasons并更改网址,以便指向一个有用的单独页面,而不是指向页面顶部(#)。与弹出窗口相同的目的。有关此主题的进一步阅读,请参阅Unobtrusive JavaScript

答案 1 :(得分:-1)

只需将href留空,href=""即可。