0

ページに新しい div を追加するこのコード スニペットがあります。

$(document).on('click', '#addLayer', function(e) {

        $('.layer').removeClass('selectedLayer');
        var nl = $('<div class="layer selectedLayer" data-arc="1100">New Layer</div>').insertAfter('.layer');
        nl.arctext({radius: 1100});
        nl.resizable({handles: "nw,sw,se,ne"}).draggable().rotatable({ handles: "s"});
        $('#bead-text').val('New Layer');

    });

初めて呼び出されたときは完璧に機能します。2回目は、divを1つだけ追加する代わりに、1クリックで2つ追加します。3回目にクリックすると、1回のクリックで4が追加されます。一度に1つずつ追加するだけで、これを修正する方法はありますか?

4

3 に答える 3

0

最初に要素をターゲットにしてから、次のように追加することをお勧めします。

var html = '<div class="layer selectedLayer" data-arc="1100">New Layer</div>';

// select the last element with .layer and put HTML after it
var nl = $('.layer').last().after(html);
于 2013-11-26T20:09:10.420 に答える