将jQuery“drop”事件绑定到已删除的元素

时间:2012-03-29 14:48:41

标签: jquery jquery-ui jquery-ui-draggable jquery-ui-droppable

我有两个表,试图在表之间使用draggable和droppable从jquery ui传递行

我可以拖放得很好,但“掉落”的元素不是“可以放置”的。当我从表1到表2移动一行时,它可以工作。但是,如果我尝试将另一行从表1移动到表2,它只有在我加载页面时将其放到最初在表2中的一个元素上才有效。它不会落到表1中我已移到表2的元素上。

如何重新绑定此事件,使被删除的元素可以删除?

$("#inventor tr").draggable({
            helper: "clone",
            start: function(event, ui) {
                c.tr = this;
                c.helper = ui.helper;

            }
    });

var c = {};

    $("#invention tr").droppable({
        drop: function(event, ui) {
                    var $row = $(c.tr); 
                    var name = $row.find('td:eq(0)').html();
                    var age = $row.find('td:eq(1)').html();
                    var sex = $row.find('td:eq(2)').html();
                    var group = $row.find('td:eq(3)').html();
                    var pref = $row.find('td:eq(4)').html();



                    var stringToAppend = "<tr><td>"+name+"<span>"+age+" &bull; "+sex+" &bull; "+group+"</span></td></tr>";



             $("#invention table tbody").append(stringToAppend);

          $(c.tr).remove(); //remove from previous
          $(c.helper).remove(); //remove clone
        }
    });

1 个答案:

答案 0 :(得分:0)

droppable功能绑定到table而不是每个单独的tr元素可能更好一点。毕竟,这是你将tr放到。

的表格