После добавления (), как привязать событие клика к только что добавленному элементу - PullRequest
4 голосов
/ 16 марта 2010

У меня есть этот код

$(".delete2").click(function() {
  $('#load2').fadeIn();
}

Я динамически добавил товар через этот возврат

addSubcategory = function(){
        sucategorynameval = $("#sucategoryname").val(); 
        categoryId        = $("#addcategoryid").val(); 
        $.get("process-add-subcat.php", { "action": "add_subcategory", "sucategoryname": sucategorynameval, "categoryId":categoryId },
               function(data){
                 //$("#main-cat-"+categoryId).load(location.href+"&pageExclusive=1 #main-cat-"+categoryId+">*","");
                 $("#main-cat-"+categoryId).append(data);
                 $("#addcategoryid").val(''); 
                 $("#sucategoryname").val(''); 
               }); 

Возвращенные данные содержат delete2 классифицированный элемент.

Как применить событие click к вновь добавленному элементу?

Ответы [ 3 ]

3 голосов
/ 17 марта 2010

ну, вы можете просто привязать его с той же функцией щелчка, которую вы использовали ранее, или вы используете .live () http://api.jquery.com/live/

2 голосов
/ 17 марта 2010

Заменить

$(".delete2").click(function() {
    $('#load2').fadeIn();
}

с

$(".delete2").live('click', function() {
    $('#load2').fadeIn();
});

Таким образом, событие click привязывается ко всем существующим и будущим созданным элементам с классом .delete2

1 голос
/ 19 июля 2013
$(<parent selector>).on('click', '.delete2', function() { alert('test'); });

Изменить родительский селектор на id или класс родительского элемента

...