基本上,我希望在整个页面中都有链接来更改锚点——# 符号之后的 URL 部分。当 URL 的那部分发生变化时,JavaScript 应该做出响应。
我可以为每个链接添加一个 onclick 方法,但有更好的方法吗?
基本上,我希望在整个页面中都有链接来更改锚点——# 符号之后的 URL 部分。当 URL 的那部分发生变化时,JavaScript 应该做出响应。
我可以为每个链接添加一个 onclick 方法,但有更好的方法吗?
那不是锚,是哈希?
$(window).on('hashchange', function() {
alert('My fracking hash changed to : '+document.location.hash);
});
$(window).bind('hashchange', function() {
// code here
});
认为应该这样做
在 jQuery 中,您不需要将 onclick 事件添加到所有单独的链接。使用像这样的选择器,$('a')
您可以一次将事件添加到所有链接。
$('a').click(function(){
// code here
});
在此事件中,您可以使用该$(this)
对象来获取href
.
但我建议其他答案向您展示解决此问题的更优雅的方法。
Sammy.js是你的朋友。我已经在我正在研究的 SPA 上使用它,我喜欢它!
首先,您必须选择元素。
例如 var links = $("a");
然后添加 jquery 函数 .click()
尝试这个
window.location.hash
在一个全局变量上,比如说,currentHash
window.location.hash !== currentHash
currentHash = window.location.hash
setInterval
使用on执行此功能DOMReady