javascript - 如何在哈希位置更改时触发事件

标签 javascript jquery fragment-identifier

我正在尝试使用 onhashchange 方法在我的 url 中的哈希更改时触发一个事件。我正在调用它,但它似乎从未被执行过。

我尝试了以下方法。

$(function () {
    window.addEventListener("onhashchange", function () {
        alert("Here");
    });

    window.onhashchange = function () {
        alert("Changed");
    }
)};

这些函数没有被调用有什么原因吗?

最佳答案

您应该在第一个示例中写“hashchange”而不是“onhashchange”。

这段代码对我来说工作正常,至少在 Chrome 中是这样:

window.addEventListener('hashchange', function(e){
    console.log('changed');
})

这是简短的代码片段: https://jsfiddle.net/bm8jjwmq/

关于javascript - 如何在哈希位置更改时触发事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38316753/

相关文章:

javascript - 为什么 `this` 创建一个全局变量而不是使用来自调用站点的变量?

javascript - 如何访问存储为数组的 session 名称?

javascript - 更改浏览器中的 URL 而不使用 JavaScript 加载新页面

html - 片段链接失效

javascript - 是否可以将 Ajax 调用存储为对象?

javascript - 根据Fragment ID调用javascript函数

javascript - 动态添加样式不起作用

javascript - 我怎样才能得到类似于这个网站 https ://www. hackthebox.eu 的背景样式。背景?

javascript - jquery 通过 src 属性查找元素

javascript - 用于 javascript 事件测试的 QUnit