1

我有 4 个动态生成的表。每个单元格中有两个 div (td)。所有的 div 都是可放置的。我不知道为什么,但只有第二个 div 接受可拖动,第一个恢复它。两个 div 之间没有区别(除了一个有一个“dotted”类)。

这是 jsbin:http: //jsbin.com/OMIbOGU/22/edit

JS

$("document").ready(function(){

  function init(){
    var table = $("<table></table>");
    $("body").append(table);
    for(var i=0 ;i < 9; i++){
      var row = $("<tr></tr>");
      var cell =  $("<td></td>");
      for(var j = 0;j<2;j++){
        var slot = $("<div></div>").addClass('slot');

        slot.droppable({
          accept: ".unassigned"
        });

        if (j!==1)
          slot.addClass("dotted");
        cell.append(slot);
      }
      row.append(cell);    
      table.append(row);

    }

    $(".unassigned").draggable({
      revert: "invalid",
      snap: "td div"
    });
  }
  for(var i = 0 ; i<4;i++)
  init();
});
4

1 回答 1

0

如果你添加

tolerance: 'touch'

到它工作的droppable。这表明它更像是一个 CSS 问题而不是脚本问题。

更新了 JS BIN

于 2013-08-28T00:04:40.277 回答