Зачем мне нужен двойной вызов метода setPageFromHash ()? - PullRequest
0 голосов
/ 07 ноября 2019

Я хотел бы знать, почему мне нужен двойной вызов метода 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();

1 Ответ

0 голосов
/ 07 ноября 2019

Вам не нужно вызывать функцию внутри аргументов addEventListener. Вы можете просто передать имя функции, которую вы хотите вызвать на событие:

window.addEventListener('hashchange', setPageFromHash);
...