javascript - 在点击事件/函数期间获取 URL 哈希值

标签 javascript jquery

在 jQuery 单击事件函数期间,我知道单击事件是在基础事件完成之前触发的(并且 URL 已更新)...因此您可以控制该事件。这意味着链接的哈希值尚无法通过 window.location.hash

e.target.hash 是否比进入 <a> 元素本身来获取哈希值更好?或者通过 onclick 事件传递必要的变量? “更好”定义为跨浏览器兼容性或更容易出错。

例如:

<a class="accountLink" href="#account/123456">Account 123456</a>
$('.accountLink').click(function(e){
  console.log(e.target.hash);
  console.log(window.location.hash);
});

日志:

#account/123456
(blank on initial click)

https://jsfiddle.net/r1xpsut1/1/

最佳答案

根据您的要求,听起来 windowonhashchange 事件更合适:

window.onhashchange = function() {
    alert(window.location.hash);
}

Updated fiddle

关于javascript - 在点击事件/函数期间获取 URL 哈希值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40047091/

相关文章:

javascript - 表格的粘性标题

jquery - 在 jQuery UI 对话框上设置圆角类型

javascript - jQuery - 全局变量

javascript - 根据所选选项更改同一选择中的选项

PHP/Javascript - 引用引用为空

javascript - 在for循环Angular2 Django中获取多个可观察请求

javascript - 表格和 div 的故障(位置 : absolute) in Firefox

jquery - 如何使用 JQuery 在表单中移动此 div?

javascript - 停止按钮点击?

javascript - 类型 'url' 上不存在属性类型 'Event'