0

在 - window.location.hash - 改变?

上面的问题谈论的是哈希变化,而这个问题谈论的是点击内部链接时的回调

我在一个页面中有许多链接,这些链接使用 # 链接指向同一页面中的另一个位置。每当我单击一个这样的链接时,页面就会滚动到该位置。但是我需要在自动滚动发生后手动调整滚动。那么想知道此类事件是否有回调函数?

此外,如果在初始页面加载中存在 # 标记(不仅在使用链接单击它时)以及再次单击相同链接时(在这种情况下不会触发 hashchange 事件),该事件也应该触发

4

2 回答 2

0

您可以通过在元素上调用此函数来注册一个:

addEventListener('click', function(){/*update your stuff here/*});

在 jQuery 中,它更容易

$('a').on('click', function(){/*update your stuff here/*});每次点击链接后都会更新。

于 2013-01-07T15:33:09.053 回答
0

我知道没有特定的回调,但您可以将函数绑定到window.onscroll(https://developer.mozilla.org/en-US/docs/DOM/window.onscroll) 事件。这将检测窗口何时被单击的链接滚动,并让您进行调整。那么唯一的问题是当用户正常滚动页面时它也会触发。

除此之外,您可以为所有 # 链接添加一个类,以便您检测何时单击了某个链接。在 jQuery 中:

$("a.HASH-LINK-CLASS").on("click", function (event) { ... });
于 2013-01-07T15:35:37.190 回答