2014-03-26 86 views
0

我是cloning a divappending它在不同的按鈕點擊上的父母div。這cloningappending事件正在發生從不同的JS文件,所以我想要一個事件被觸發時,element被添加到父div。一種方法是去和添加相同的代碼或調用不同的地方功能。我想知道是否有一個內置的jQuery中的功能,當任何孩子被追加到它將觸發。以下是我的代碼(Fiddle檢查是否有任何元素附加到父

JS/Jquery: 
$('.but').on('click',function(){  
    $('.sample').clone(true) 
    .removeClass('sample') 
    .addClass($(this).text()) 
    .appendTo($('.parent')); 
    $('.rem').fadeIn(); 
}); 
$('.rem').on('click',function(){ 
    $('.parent').children('.com:last-child').remove(); 
}); 


    /*this is my conventional code this will be trigged every time when new element is added to parent div 
    if(elements are increased in parent div){ 
     do your thing 
    } 
*/ 
HTML: 
<div class="button-wrp"> 
    <div class="but cm">red</div> 
    <div class="but cm">green</div> 
    <div class="but cm">blue</div> 
    <div class="rem cm">Remove</div> 
</div> 
<div class="parent"></div> 
<div class="sample com"></div> 

如果你想看到所有這東西的工作,請點擊fiddle link

+0

可能的重複http://stackoverflow.com/questions/2844565/is-there-a-jquery-dom-change-listener/11546242#11546242 – UweB

+0

你可以看看http://stackoverflow.com/questions/7167085/on -一個對於稍微不同的方法,ppend-do-something –

+0

這個http://stackoverflow.com/a/16265881/592253演示了被棄用的突變事件和更新的突變觀察者。 – Xotic750

回答

0

您可以使用jQuery的事件系統。這想法:

首先你要定義你的聽衆:

$('div').on('child_appended', function(){ 
    // this is your parent with a new child 
    var parent_with_new_child = this; 
}); 

然後當你添加一個新的孩子,你可以這樣:

$('.parent').append($('.child')).trigger('child_appended'); 

更多參考去here

+0

我不想回頭的事情先生,我可以通過調用一個函數來實現同樣的事情 –