在点击此链接后,获取绑定到锚链接的 onclick 函数内的 URL/锚点
Get URL/anchor inside an onclick function binded to an anchor link AFTER following this link
上下文
CSS 缺少"a:current"选择器或对当前 URL 的访问权限,因此我正在尝试编写香草 JS 来为菜单中链接到同一页面/锚点的链接着色。
每次单击锚链接时,我都会运行一个函数,以检查每个菜单链接是否与新锚点相对应。问题:文档。URL 是指单击链接之前的 URL。请注意,我认为我可以用不同的方式为我的链接着色,但这不是问题的一部分(如果您有建议,您可以发表评论(。
要重现的代码
<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html;charset=utf-8' />
</head>
<body>
<script>
var check_anchor = function()
{
document.getElementById('url_log').innerHTML = document.URL;
}
</script>
<a href='#anchor_1' onclick='check_anchor();'>Anchor 1</a>
<a href='#anchor_2' onclick='check_anchor();'>Anchor 2</a>
<a href='#anchor_3' onclick='check_anchor();'>Anchor 3</a>
<p>URL is <span id='url_log'></span></p>
</body>
</html>
例:
当您单击锚点 2 时:"file:///home/[...]/Anchor_Example.html">
当您单击锚点 3 时:"file:///home/[...]/Anchor_Example.html#anchor_2">
当您单击锚点 1 时:"file:///home/[...]/Anchor_Example.html#anchor_3">
当您单击锚点 1 时:"file:///home/[...]/Anchor_Example.html#anchor_1">
(按顺序:有"延迟":打印的URL是点击链接之前的URL。我想要的是当您单击锚点 1 时:"file:///home/[...]/Anchor_Example.html#anchor_1"(
问题
在关注锚链接后是否可以轻松获取 URL,或者在关注链接后调用 onClick 事件?如果是这样,你会怎么做?
抱歉,如果这个问题看起来很愚蠢或已经回答了(我寻找它但没有成功(。
window.onhashchange
派上用场的地方。
在 MDN 上查看
根本不是一个愚蠢的问题。
任何时候在该事件处理程序中,您都想知道新URL是什么,您可以使用location.href
或仅获取更改的部分(哈希(使用location.hash
window.onhashchange = function () {
console.log(location.hash); // new hash/anchor location
}
- 如何调用“;链接_;在onclick事件上使用Javascript
- Target=带有OnClick JavaScript的空白链接
- html链接onclick弹出一个表单
- 我的链接按钮的OnClick事件永远不会被触发
- 解析具有target=“”的链接;新的“;并添加onclick事件
- 如何在没有onClick的情况下使用Javascript链接
- 如何使用onClick处理程序在React组件中创建链接
- 我可以在onclick=return false的链接上触发点击事件吗
- 在django帮助文本字段中放置带有onClick属性的链接
- 从javascript onClick超链接获取内容
- 首先执行的是链接或onclick中的JavaScript
- 如何在链接上附加onclick事件以使用javascript功能
- 如何使用javascript获取onclick链接的id
- 链接中的链接onClick事件-避免触发两个单击事件
- 链接onclick传递对象
- jQuery下载一个csv文件,链接onclick
- 一个链接(onclick)更改两个属性
- 从链接onclick向JS函数传递参数
- html表单没有提交按钮和锚链接onclick重定向与输入值
- 使用JavaScript设置超链接onClick