1

我同时使用了 jquery hashchange 和 window.addEventListener("hashchange") 但是当哈希部分被代码删除时事件没有触发。我正在使用 mithril.js 更改哈希:

m.route('')

window.addEventListener("hashchange", function(evt) {
    console.log("hash change");
    var path = location.hash.substring(1);
    console.log(path);
    //do other things
}, false);

删除 url 的哈希部分时事件是否会触发?如果不是,处理这种情况的解决方法是什么?

4

1 回答 1

0

history.pushState()如果用于删除哈希,它不会触发。

根据mithril.js 文档

此外,请注意,大多数m.route模式都依赖于history.pushState允许在不刷新浏览器的情况下从一个页面移动到另一个页面。

于 2015-11-02T13:40:17.323 回答