2014-06-17 123 views
0

我想克隆我的.shuffler div內的一些播放器。因爲我將點擊偵聽器連接到.player div,我想追加整個對象而不僅僅是HTML。將整個jQuery對象附加到html

當我循環訪問下面的代碼時,在each循環中記錄playerClones[j]時得到的結果是正確的,但它不會追加任何內容。

關於如何複製我的球員並將每個球員追加25次到我的.shuffler.而不丟失點擊監聽器的任何想法?

this.amountOfDuplicates = 25; 
var playerClones = []; 
this.parentObject.find('.player').each(function() { 
    playerClones.push(jQuery(this).clone()); 
}); 

for (var i = 0; i < this.amountOfDuplicates; i++) { 
    for (var j = 0; j < playerClones.length; j++) { 
     this.parentObject.find('.shuffler').append(playerClones[j]); 
    } 
} 

Fiddle here!

+1

請張貼您的標記小提琴。或任何演示。 –

+0

添加小提琴:) – CaptainCarl

回答

1

通常,當您使用$(this).clone(),物體的一切克隆除了點擊收聽。

如果你可以聲明這樣的函數並在每次克隆對象時調用它,那會更好。

attachClickToClone = function() { 
    $('.player').on('click', function() { 
     //to-do-function 
    } 
} 

並稱之爲這樣。

for (var i = 0; i < this.amountOfDuplicates; i++) { 
    for (var j = 0; j < playerClones.length; j++) { 
     this.parentObject.find('.shuffler').append(playerClones[j]); 
    } 
} 
attachClickToClone(); 
+0

工程就像一個魅力。仍然不明白爲什麼我的洗牌機中有8個玩家div應該有25 * 4個玩家... – CaptainCarl

+0

找不到你的編碼有什麼問題,而且我也只有8個玩家。 – mindbard

+0

克隆被移動。我不得不在追加它後克隆克隆:) – CaptainCarl