2013-07-18 28 views
1

我正在閱讀.clone()文檔http://api.jquery.com/clone/試圖學習如何爲我的項目克隆對象......我有一個事件處理程序.click()函數,它爲克隆塊添加活動狀態。看看這個小提琴更有意義。使用deepWithDataAndEvents克隆事件處理程序?

小提琴:http://jsfiddle.net/KRg23/2/

現在它只是在測試階段,最終當點擊一個按鈕(未負載)我會克隆塊..但現在前兩個棒由默認編碼,最後兩個是在加載時克隆的,就像我說準備生產時只會有一個元素,它會被克隆在一個按鈕上點擊(只是爲了填補你)

最後讓我解釋爲什麼我需要克隆一個事件處理程序,在小提琴的情況下,它不會將.active類添加到.click()上的.block ,我認爲它不這樣做,因爲像文檔中說「通常情況下,綁定到原始元素的任何事件處理程序都不會複製到克隆。可選withDataAndEvents參數允許我們改變這種行爲,」我只是不想看到他們解釋withDataAndEvents ..

小提琴:http://jsfiddle.net/KRg23/2/

+1

這裏的工作小提琴:http://jsfiddle.net/ZmLKq/我所做的只是改變'的clone()''來克隆(真)' –

+0

謝謝..這是有道理的,現在... –

回答

3

如文檔說:

「withDataAndEvents(默認值:false) 類型:布爾值」

這意味着您可以傳遞t rue或false作爲.clone()參數。

var clone = jQuery('#sortable .block').clone(true); 

這將克隆具有事件綁定的元素。

小提琴:http://jsfiddle.net/KRg23/3/

+0

真棒,4個字母是它:)謝謝! –

+0

感謝您的好解釋 –