2013-01-18 88 views
0

http://jsbin.com/ituxij/4/editjQuery函数不传递参数正确

我试图拖拽图片到div的使用jQuery我有一个函数

<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 =垃圾或我的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方法不起作用一样,如果我简单的类型出垃圾。

回答

2

$droppableId只是元素的id而不是选择器或元素本身。

尝试.appendTo($('#'+$droppableId));.appendTo('#'+$droppableId);

作为面点我想尝试和使用jquery当您的变量开始使用$避免,看起来就有点混乱。

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

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