【问题标题】:Does hashchange event fire when hash is removed?删除哈希时是否会触发 hashchange 事件?
【发布时间】:2015-09-12 08:19:56
【问题描述】:

我同时使用了 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 的哈希部分被删除时,事件是否会触发?如果不是,处理这种情况的解决方法是什么?

【问题讨论】:

    标签: javascript events hashchange mithril.js


    【解决方案1】:

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

    根据mithril.js docs

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

    【讨论】:

      猜你喜欢
      • 2016-06-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多