我想知道为什么我需要双重调用setPageFromHash()
方法?
我也尝试在调试器上查看,addeventlistener
内部的调用将我带到了最后一行-对setPageFromHash
的调用。
调用该方法还不够吗?
我本以为addEventListener
内部的调用会将调试器带到第12行的函数调用。
var main = document.querySelector('main');
function showPage(name) { var html = document.getElementById(`t-${name}`).innerHTML; main.innerHTML = html; }
window.addEventListener('hashchange',function() { setPageFromHash(); });
function setPageFromHash() {
var hash = window.location.hash.substr(1);
if (hash === 'about') {
showPage('about'); }
else {
showPage('home');
}
}
setPageFromHash();