Показать сообщение отдельно
  #1 (permalink)  
Старый 19.03.2013, 20:08
Новичок на форуме
Отправить личное сообщение для recew Посмотреть профиль Найти все сообщения от recew
 
Регистрация: 19.03.2013
Сообщений: 2

jQuery отключается или не реагирует на новое содержимое?
Всем привет. Есть страничка с двумя колонками(div):

- первая колонка загружает картинки с помощью ajax и после загрузки заменяет содержимое второй колонки свежим содержимым, которое она получает в ответ на post-запрос, отправленный через ajax.

- вторая колонка содержит список всех картинок, на каждую картинку повешено событие, которое отправляет post-запрос на удаление этой картинки.

Проблема в следующем:
При загрузке новой картинки происходит замена всей второй колонки и после этого вторая колонка перестает обрабатывать события.

Код:
$(document).ready(function () {
var btnUpload = $('#upload');
new AjaxUpload(btnUpload, {
        action:'upload.php',
        name:'upload',
        onSubmit:function (file, ext) {
            if (!(ext && /^(jpg|png|jpeg|gif)$/.test(ext))) {
                status.show().text('Разрешена загрузка файлов следующего формата: JPG, PNG, GIF.').fadeOut(5000);
                return false;
            }
            status.show().text(' Загрузка...');
        },
        onComplete:function (file, response) {
            status.fadeOut(1000);
            $("#message").fadeIn(500).html("Загрузка файла завершена.").fadeOut(4000);
            var rr = response;
            var fstatus = $(rr).filter("#state").html();
            var fname = $(rr).filter("#fname").html();
            if (fstatus == "success") {
                $('<li></li>').appendTo('#files').html('<img src="img/gallery/' + fname + '" alt="" /><br />' + file).
                    addClass('success').animate({ backgroundColor:"#99F099"}, 5000).fadeOut(1000);
            } else if (fstatus == "error") {
                $('<li></li>').appendTo('#files').text("Загрузка " + fname + " не удалась.").addClass('error');
            }
            $.post("geditf.php", {command:"refresh"}, function (data) {
                //обновляем правую колонку после загрузки файла
                $("#rightpanel").html(data);
                $("#rightpanel").css({height:"inherit"});
                $("#leftpanel").css({height:"inherit"});
            });
        }
    });
	
	//Это событие перестает работать после загрузки новой картинки
	$(".delbtn").each(function () {
        $(this).click(function () {
            var dt;
            var fl = $(this).attr("href");
            //удаление фото:
            $.post("geditf.php", {command:"del", file:fl }, function (data) {
                dt = data;
                var msg = $(dt).filter("#msg").html();
                var kil = $(dt).filter("#kil").html();
                $("#message").fadeIn(500).html(msg).fadeOut(4000);
                if (dt.length > 50) {
                    $("#delstate").html("Удаление фотографий [" + kil + "]");
                    $(".imgholder").each(function () {
                        if ($(this).attr("title") == fl) {
                            $(this).fadeOut(1000);
                        }
                    });
                }
            });

        });
    });
});


Подскажите как исправить?
Ответить с цитированием