На мой взгляд, вы должны использовать функцию jQuery.on. Это вызовет событие для динамически изменяемого контента. Например: вы загружаете некоторый список изображений и заполняете их на сайте новыми кнопками управления (просмотр, редактирование, удаление). Пример структуры может выглядеть так:
<div id="img_35" class='img-layer'>
<img src='path.jpg'>
<button class='view' ... />
<button class='edit' ... />
<button class='delete' ... />
</div>
Тогда правильный JS может выглядеть следующим образом (только для удаления, другие похожи):
<script type="text/javascript">
$(document).on('click', '.img-layer .delete', function() {
var imgId = String($(this).parent().attr('id)).split('_')[1]; //obtain img ID
$.ajax({
url: 'http://www.some.ajax/url',
type : 'POST',
data: {
id: imgId
}
}).done({
alert('Success!');
}).fail({
alert('fail :(');
});
}
</script>
После этого вам не нужно связывать и откреплять каждый элемент, когда он должен появиться на вашей странице. Кроме того, это решение простое и чистое. Это также легко найти и изменить в коде.
Надеюсь, кому-то это может пригодиться.
Привет
, Simon