4

jQuery のclone関数は次のようになります。

.clone( [withDataAndEvents] [, deepWithDataAndEvents] )

withDataAndEvents : イベント ハンドラーとデータを要素と共にコピーする必要があるかどうかを示すブール値。

deepWithDataAndEvents : 複製された要素のすべての子のイベント ハンドラーとデータをコピーする必要があるかどうかを示すブール値。

これらのパラメータはどちらも と に影響data eventsます。データのみを保持し、イベントを保持することは可能でしょうか? 基本的に、私の理想的なclone関数は次のようになります。

.idealClone( [withData] [, withEvents] [, deepWithData ] [, deepWithEvents ] )

withData : データを要素とともにコピーする必要があるかどうかを示すブール値。

withEvents : イベント ハンドラーを要素と共にコピーする必要があるかどうかを示すブール値。

deepWithData : 複製された要素のすべての子のデータをコピーする必要があるかどうかを示すブール値。

deepWithEvents : 複製された要素のすべての子のイベント ハンドラーをコピーする必要があるかどうかを示すブール値。

これを達成する方法はありますか?

NB私は1.8.1で作業していますが、すべてのバージョンの回答を歓迎します

4

1 に答える 1

3

You can easily extend the jQuery object with your ideal clone method, and use various combinations of data and off to keep only the things you want. Personally I think it's easy enough to just do:

// clones with data and events, then unbinds all events (bound with .on)
$(element).clone(true).off();
于 2013-02-14T22:33:53.283 に答える