定义baseurl时的#stopors行为

时间:2014-07-23 05:42:59

标签: html hyperlink base-url

我习惯在开发过程中使用href="#"作为占位符链接,这样如果你不小心点击它,没有任何反应,它不会在测试页面时跳转页面,即你确切知道哪个是占位符和这是一个断开的链接。

但是,当在头部定义baseurl时,href =“#”将获取baseurl地址而不是当前页面,并在结尾处附加#。这会导致占位符链接始终加载索引页。烦。

<!doctype html>
<html>
<head>
<base href="http://localhost">
</head>
<body>
<p><a href="#">placeholder # only</a></p>
<p><a href="">empty string</a></p>
</body>
</html>

除了指定<a>的{​​{1}}中的完整路径外,还有办法取回“占位符”行为吗?

4 个答案:

答案 0 :(得分:1)

href="javascript:void(0);"

试试这个,所以点击页面不会跳转也不会刷新

答案 1 :(得分:0)

这可能比任何事情更糟糕,但你总是可以忽略来自锚标记的点击:

$('body').on('click', 'a[href="#"]', function(e) { e.preventDefault(); });

答案 2 :(得分:0)

如果您目前正在开发中,我建议删除您的基本代码。 它定义了该页面上所有锚标记的行为。欲获得更多信息 : http://www.w3schools.com/tags/tag_base.asp

答案 3 :(得分:0)

使用javascript完成

function onClick(event) {
  document.getElementById('id').scrollIntoView({
    behavior: 'smooth'
  });
}

https://stackoverflow.com/a/48901013/4185912