Сообщение от __Alex__
|
Возможно при применении +=innerHTML затираются более ранние listener's?
|
Они не затираются...
Ты просто создаешь новые элементы. А у них нет обработчиков.
Вот твой аналог
<div id='main'></div>
<div id='out'></div>
<script>
var main = document.getElementById('main');
module1();
module2();
function module1() {
main.innerHTML = '<div id="first">Some text, id=first </div><br />';
alert(document.getElementById('first'))
document.getElementById('first').addEventListener('click', function() {
out('clicked on first id ');
});
}
function module2() {
main.innerHTML = '<div id="first">Some text, id=first </div><br />' + '<div id="second">Some text, id=second </div><br />';
document.getElementById('second').addEventListener('click', function() {
out('clicked on second id ');
});
}
function out(data) {
document.getElementById('out').innerHTML += data;
}
</script>