0

既存のボックスをドラッグ可能にする jQuery UI コードがあります。ただし、追加のボックスを追加すると、それらのボックスはドラッグできません。JSFiddle は次のとおりです: http://jsfiddle.net/MJKhq/4/ ([クリックしてください] ボタンをクリックすると、ドキュメントに別のボックスが追加されますが、そのボックスは最初のボックスのようにドラッグできません)。以下にコードサンプルを示します。

$(function()
{
    $( "#draggable" ).draggable();
});

function makenew()
{
    $("body").append('<div id="draggable" class="ui-widget-content"> <p>Drag me around</p></div>');
}
4

3 に答える 3

1

すべての dom 要素には、作業する一意の ID が必要です。または、親が異なる必要があります。dom bind イベントに追加した後、同じ id を使用することはできません。このように定義できます。

<script>
function _bindEvents()
{
    $(".ui-widget-content" ).draggable();
}

$(function(){
    _bindEvents();
});

function makenew()
{
    $("body").append('<div id="draggable" class="ui-widget-content"> <p>Drag me around</p></div>');
    _bindEvents();
}
</script>
于 2012-12-08T21:17:13.630 に答える
0

一意idである必要があることに注意idしてください。同じページで同じ複数の要素を使用することはできません。この場合、の代わりに使用できclassますid

function makenew() {
    var div=$('<div class="draggable ui-widget-content"><p>Drag me around</p></div>');  
    $("body").append(div);
    $(div).draggable();
}

于 2012-12-08T21:29:21.217 に答える
0

DOM ツリーには、同じ ID を持つ要素が 1 つだけ存在する必要があります。新しいボックスを追加すると、同じ ID を持つ 2 つの要素が取得されます。クラスを使用してみてください。

于 2012-12-08T21:17:14.843 に答える