我试图使用方法 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/
if ("onhashchange" in window) {
alert("The browser supports the hashchange event!");
}
▲ 用于支持//▼ 实施
function locationHashChanged() {
if (location.hash === "#somecoolfeature") {
somecoolfeature();
}
}
window.onhashchange = locationHashChanged;
来源: https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onhashchange