散列哈希时hashlink事件是否会触发?

时间:2015-09-12 08:19:57

标签: javascript events hashchange mithril.js

我同时使用了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);

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

1 个答案:

答案 0 :(得分:0)

如果使用history.pushState()删除哈希值,则不会触发。

根据mithril.js docs

  

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