我打开了几个弹出窗口,例如http://example.tk/#example
,关闭它们我使用:
<a href="#">Close</a>
关闭弹出窗口,但它保留了#
符号,显然,有什么方法可以关闭它并删除#
符号吗?
我用Google搜索并发现了这个:
<a href="javascript:void(0)">Close</a>
我已尝试过javascript:
,javascript:;
。
但这对我不起作用,我启用了JavaScript。
答案 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=""
即可。