2009-10-06 2 views
0

Я использую jquery и uploadify для загрузки фотографий на сервер. После загрузки фотографий они добавляются в контейнер div с помощью ajax. Все работает отлично, за исключением кнопки DELETE. Все кнопки удаления работают при загрузке страницы, но те, которые добавлены через ajax, не работают. Я полагаю, что это потому, что я определил функцию, которая позволяет удалять изображения и не использовать «классический» способ удаления (форма удаления):Javascript не влияет на код html, добавленный с помощью javascript

// Delete photo    
    $(".blog_slike .delete_slika").click(function() { 
     var commentContainer = $(this).parent().parent(); 
     var id = $(this).attr("id"); 
     var string = 'id='+ id ; 

     $.ajax({ 
      type: "POST", 
      url: "./include/ajax-edit/delete.php?polje=blog_slika", 
      data: string, 
      cache: false, 
      success: function(){ 
      commentContainer.fadeOut("slow"); 
      $('#load').fadeOut(); 
      }  
     }); 

     return false; 
    }); 

Любая идея, как сделать кнопку работы после того, как он добавляется в HTML-код с помощью append() функции ?

еще одно ... добавить фотографии в редакторе TinyMCE Я использую эту функцию:

<a href=\"javascript:;\" onmousedown=\"tinyMCE.execCommand('mceInsertContent',false,'$slike_u_sadrzaj');\">Ubaci sve slike u blog</a> 

... который также был добавлен на странице загрузки. Как я могу добавить контент для размещения там, где находится $slike_u_sadrzaj и как его удалить?

Спасибо, Ile

ответ

9

Вам нужен Jquery live метод.

Добавлено в jQuery 1.3: Привязывает обработчик к событию (например, щелчок) для всех элементов текущего и будущего соответствия. Может также связывать пользовательские события. Код

jQuery documentation

Пример:

$(".blog_slike .delete_slika").live('click',function() { 
+0

Отлично! Вот и все, спасибо! Еще одна вещь ... Как заставить кнопку исчезать? Это текущий код: $ (". Blog_slike .delete_slika"). FadeTo ("fast", 0.3); Я пробовал это: $ (". Blog_slike .delete_slika"). Live (function() {fadeTo ("fast", 0.3)}, но не удался .. –

+1

Live предназначен только для событий. Используйте CSS для непрозрачности или вызовите jQuery после создания нового элемента. – jantimon

+0

Я вижу ... Как вызвать jQuery после создания нового элемента? Что именно вы имеете в виду? Спасибо –