我觉得我在这里犯了一个非常简单的错误。本质上,我只是试图从自执行函数中的另一个函数访问函数。有没有理由不调用printConfirmation
?似乎eventHandlers
也没有正常运作。
(function(){
var targetZone = document.getElementById('target-zone');
var eventHandlers = function(){
targetZone.addEventListener('click', printConfirmation);
};
var printConfirmation = function(){
targetZone = targetZone.classList;
targetZone.add('clicked');
};
})();
答案 0 :(得分:1)
这是一个悬挂问题,更改为函数声明而不是函数表达式,它将起作用:
(function(){
var targetZone = document.getElementById('target-zone');
function eventHandlers(){
targetZone.addEventListener('click', printConfirmation);
}
function printConfirmation(){
targetZone = targetZone.classList;
targetZone.add('clicked');
}
eventHandlers();
})();
编辑:另外,正如丹尼尔指出的那样,你需要实际调用eventHandlers()