我觉得我在这里犯了一个非常简单的错误。本质上,我只是尝试从自执行函数中的另一个函数访问一个函数。为什么没有任何原因叫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');
};
})();
最佳答案
这是一个悬而未决的问题,更改为函数声明而不是函数表达式,它将起作用:
(function(){
var targetZone = document.getElementById('target-zone');
function eventHandlers(){
targetZone.addEventListener('click', printConfirmation);
}
function printConfirmation(){
targetZone = targetZone.classList;
targetZone.add('clicked');
}
eventHandlers();
})();
编辑:而且,正如丹尼尔指出的那样,您需要实际调用
eventHandlers()
关于javascript - 访问自执行功能中的同级功能,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42846786/