在 - window.location.hash - 改变?
上面的问题谈论的是哈希变化,而这个问题谈论的是点击内部链接时的回调
我在一个页面中有许多链接,这些链接使用 # 链接指向同一页面中的另一个位置。每当我单击一个这样的链接时,页面就会滚动到该位置。但是我需要在自动滚动发生后手动调整滚动。那么想知道此类事件是否有回调函数?
此外,如果在初始页面加载中存在 # 标记(不仅在使用链接单击它时)以及再次单击相同链接时(在这种情况下不会触发 hashchange 事件),该事件也应该触发
在 - window.location.hash - 改变?
上面的问题谈论的是哈希变化,而这个问题谈论的是点击内部链接时的回调
我在一个页面中有许多链接,这些链接使用 # 链接指向同一页面中的另一个位置。每当我单击一个这样的链接时,页面就会滚动到该位置。但是我需要在自动滚动发生后手动调整滚动。那么想知道此类事件是否有回调函数?
此外,如果在初始页面加载中存在 # 标记(不仅在使用链接单击它时)以及再次单击相同链接时(在这种情况下不会触发 hashchange 事件),该事件也应该触发
您可以通过在元素上调用此函数来注册一个:
addEventListener('click', function(){/*update your stuff here/*});
在 jQuery 中,它更容易
$('a').on('click', function(){/*update your stuff here/*});
每次点击链接后都会更新。
我知道没有特定的回调,但您可以将函数绑定到window.onscroll
(https://developer.mozilla.org/en-US/docs/DOM/window.onscroll) 事件。这将检测窗口何时被单击的链接滚动,并让您进行调整。那么唯一的问题是当用户正常滚动页面时它也会触发。
除此之外,您可以为所有 # 链接添加一个类,以便您检测何时单击了某个链接。在 jQuery 中:
$("a.HASH-LINK-CLASS").on("click", function (event) { ... });