0

動的目的ベースのフォーム フィールド リピーターを構築していますが、jQuery のクリック イベント関数に問題があります。

ここで私のコードを見ることができます- http://leading-people.com/resources/form/

クリックしたときに、入力フィールドを独自の親tdに一度だけ複製したい。この場合、すでに表示されている入力フィールドに対してのみ機能し、動的に作成されたフィールドにクリックイベントの機能を割り当てます。

問題は、動的フィールドを一度作成すると、完全にクローンが作成され、動的に生成された入力フィールドでも同じことが起こりますが、古い入力フィールド (初期段階で既に生成されている)を押すと、複数回クローンが作成されることです。

この質問に似た他の多くの方法を試してみましたが、うまくいきません。SOで見つけた同様の質問ですが、これらはまったく役に立ちません。

4

1 に答える 1

0

どうぞ:

$(document).ready(function(){    
    $("table").on("click","input",function(){
        var dd = new Date(),
            ddClass= dd.getDate()+"-"+dd.getSeconds();

        $(this).clone().attr("class",ddClass).appendTo($(this).parent());
    });        
});​

Jsfiddle はこちら: http://jsfiddle.net/CLyRc/4

このコードでは、テーブルを使用して内部入力フィールドのクリック イベントをリッスンし、そのクリックされた入力を複製して親 (この場合は<td>タグ) に追加します。

あなたのコードでは、すべての入力フィールドにイベント リスナーを繰り返し追加しているように見えましたが、私の例では、イベント委任を使用して、動的に追加されたかどうかにかかわらず、任意の入力フィールドで 1 回だけイベントをリッスンしています。

于 2012-11-21T13:33:38.717 に答える