是否有内部页面链接的回调函数

时间:2013-01-07 15:29:05

标签: javascript html

On - window.location.hash - Change?

上述问题讨论了哈希更改,而这个问题只是在点击内部链接时讨论回调

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

如果#tag在初始页面加载时出现(不仅仅是用链接点击时),当再次点击相同的链接时(hashchange event won'')在这种情况下开火)

2 个答案:

答案 0 :(得分:0)

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

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

在jQuery中,它更容易

每次链接点击后,

$('a').on('click', function(){/*update your stuff here/*});都会更新。

答案 1 :(得分:0)

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

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

$("a.HASH-LINK-CLASS").on("click", function (event) { ... });