0

http://jsbin.com/ituxij/4/edit

Jqueryを使用して画像をdivにドラッグアンドドロップしようとしています関数があります

<div id="trash" class=""> Trash</div>

$trash.droppable({
    accept: "#gallery > li",
    activeClass: "ui-state-highlight",
    drop: function(event, ui) {
        var $droppableId = $(this).attr("id");

        deleteImage($droppableId, ui.draggable);
    }
});

この場合、$ droppableId=trashまたは私のdivの名前です。

私は呼んでいます

function deleteImage($droppableId, $item) {
    $item.fadeOut(function() {
        alert($droppableId);
        var $list = $("ul", $droppableId).length ? $("ul", $droppableId) : $("<ul class='gallery ui-helper-reset'/>").appendTo($droppableId);

        $item.find("a.ui-icon-trash").remove();
        $item.append(recycle_icon).appendTo($list).fadeIn(function() {
            $item.animate({
                width: "48px"
            }).find("img").animate({
                height: "36px"
            });
        });
    });
}

この関数はごみを警告しますが、これは正しいですが、「ごみ」を.appendToメソッドに渡そうとすると、単純にごみを入力した場合と同じようには機能しません。

4

2 に答える 2

2

$droppableIdセレクターや要素自体ではなく、単に要素のIDです。

試してみる.appendTo($('#'+$droppableId));.appendTo('#'+$droppableId);

副次的な点として、$jqueryを使用するときは、変数の先頭で使用しないようにします。少し混乱するように見える場合があります。

于 2013-01-18T00:05:48.780 に答える
0
$("#trash").droppable({      
   accept: "#gallery > li",      
   activeClass: "ui-state-highlight",    
   drop: function( event, ui ) {   
   var $droppableId = $(this).attr("id");

  deleteImage($droppableId, ui.draggable );     
  }   
  });
于 2013-01-18T00:05:43.723 に答える