jQueryのclone()を考察する
2011.10.13 Author: ぴ
jQueryのclone()についてのお話です。
最近、clone()を使った実装を行う必要がありまして、私の想像とは違った動きをしていた部分がありました。
あくまでも「私の想像と」というのがミソで、閲覧いただいている方は「そんなの当たり前」と思われるかもしれませんが、その際はご容赦ください。
clone()は、バージョン1.5以上で2つの引数を設定することができます。マニュアルによれば、
.clone( [withDataAndEvents] ) .clone( [withDataAndEvents,] [deepWithDataAndEvents] )
といった使い方をするようです。
このwithDataAndEvents部分は、デフォルト値はfalseです。
そのため、単にcloneした場合にはイベントなどは一切引き継がれないことになります。
それは容易に理解できるのですが。
ここでは、cloneでフォーム要素を複製することを考えてみます。
フォーム要素は画面表示後にユーザーが操作できるのが基本です。
複製するタイミングが画面表示前であれば、何ら問題はなかったのです。