Этот вопрос относится к другому вопросу о SO .Я не перефразирую его, поэтому, пожалуйста, сначала прочтите это.
При решении вышеупомянутой проблемы я столкнулся с поведением, которое мне неизвестно.
Этот фрагмент работает:
var bt1;
document.addEventListener('DOMContentLoaded', load);
function load() {
document.body.innerHTML += '<div>welcome</div>';
bt1 = document.getElementById('bt1');
bt1.onclick = clicked;
}
function clicked(a) {
document.body.innerHTML += '<div>welcome</div>';
// getting the button from document.getElement method
bt1 = document.getElementById('bt1');
bt1.onclick = clicked;
}
<body>
<button id="bt1">Click Me</button>
</body>
Пока это не так:
var bt1;
document.addEventListener('DOMContentLoaded', load);
function load() {
document.body.innerHTML += '<div>welcome</div>';
bt1 = document.getElementById('bt1');
bt1.onclick = clicked;
}
function clicked(a) {
document.body.innerHTML += '<div>welcome</div>';
// getting the button from event.target
var b = a.target;
b.onclick = clicked;
}
<body>
<button id="bt1">Click Me</button>
</body>
Любое понимание поможет прояснить понятия.