У меня есть метод класса следующим образом:
add_file: function(name, id, is_new){
// HTML: <div class="icon mime zip">name.zip <a>x</a></div>
var components = name.split('.');
var extension = components[components.length-1];
this.container.innerHTML += "<div id='"+id+"' class='icon mime "+extension+"'>"+name+" <a id='remove-"+id+"' href='#remove'>x</a></div>";
// Add event to a tag
dojo.connect(dojo.byId('remove-'+id), 'onclick', function(ev){
// here i am
});
},
Все работает хорошо, пока я не запускаю этот метод более одного раза.В первый раз, когда событие зарегистрировано правильно, и нажатие «x» запустит функцию «здесь я».Однако, как только я добавлю более одного узла (и да, идентификатор будет другим), событие будет зарегистрировано на последнем узле, но удалено из всех предыдущих.
В действительности у меня есть это:
<div id="field[photos]-filelist">
<div id="file1" class="icon mime jpg">file1.jpg <a id="remove-file1" href="#remove">x</a></div>
<div id="file2" class="icon mime jpg">file2.jpg <a id="remove-file2" href="#remove">x</a></div>
</div>
... и ссылка на удаление работает только для последнего узла (в данном случае - remove-file2).
Спасибо за любые советы / помощь!