Я полагаю, что в функции addListener
что-то идет не так.В предоставленном коде thisCount
в слушателе должно иметь замыкание на thisCount в функции makeTheFunction
.
Следующее эмулирует следующий код:
<script type="text/javascript">
function init() {
var count = 'the count';
partTwo(makeFn(count));
function makeFn(thisCount) {
return function() {
// Shows 'thisCount: the count'
alert('thisCount: ' + thisCount);
document.getElementById('btn0').addEventListener('click',
function(){alert('thisCount: ' + thisCount);}, false);
}
}
}
function partTwo(fn) {
fn();
}
window.onload = function() {
init();
};
</script>
<!-- Shows 'thisCount: the count' -->
<button id="btn0">Button 0</button>
Однако он подключает слушателя с помощью браузеров addEventListener
, а не, по-видимому, пользовательских addListener
.