Javascript 如何通过拖放操作来处理AJAX动态生成的表

Javascript 如何通过拖放操作来处理AJAX动态生成的表,javascript,jquery,ajax,drag-and-drop,tablednd,Javascript,Jquery,Ajax,Drag And Drop,Tablednd,所以我使用TableDnD插件进行拖放。行确实可以很好地进行拖放,但是当我想要获得由AJAX动态生成的表的拖放行时,代码似乎不起作用。有人能解释一下我是如何为动态生成的表实现这一点的吗 $(document).ready(function () { // Drag and drop $("#table-1").tableDnD({ onDragClass: "myDragClass", onDrop: function (tab

所以我使用TableDnD插件进行拖放。行确实可以很好地进行拖放,但是当我想要获得由AJAX动态生成的表的拖放行时,代码似乎不起作用。有人能解释一下我是如何为动态生成的表实现这一点的吗

  $(document).ready(function () {
      // Drag and drop
      $("#table-1").tableDnD({
          onDragClass: "myDragClass",
          onDrop: function (table, row) {
              var rows = table.tBodies[0].rows;
              for (var i = 0; i < rows.length; i++) {
                  debugStr += rows[i].id + " ";
                  alert(rows[i].id);
              }
          },
          onDragStart: function (table, row) {}
      });
  });
$(文档).ready(函数(){
//拖放
$(“#表1”)。表D({
onDragClass:“myDragClass”,
onDrop:函数(表、行){
var rows=table.tBodies[0]。行;
对于(变量i=0;i
您的问题可能是由于在加载DOM后应用了.tableDnD()而引起的。如果在DOM加载后动态添加元素,它将不会应用于这些元素

您可以检测DOM中的更改并应用.tableDnD(),然后:

$(document).bind('domandeinserted',function(){
$(“#表1”)。表D({
onDragClass:“myDragClass”,
onDrop:函数(表、行){
var rows=table.tBodies[0]。行;
对于(变量i=0;i
或者更好:

$(document).ready({

    applyDnD();
    $(document).bind('DOMNodeInserted', applyDnD);

    function applyDnD() {
        $("#table-1").tableDnD({
            onDragClass: "myDragClass",
            onDrop: function (table, row) {
                var rows = table.tBodies[0].rows;
                for (var i = 0; i < rows.length; i++) {
                    debugStr += rows[i].id + " ";
                    alert(rows[i].id);
                }
            },
            onDragStart: function (table, row) {}
        });
    };

});
$(文档)。准备好了吗({
applyDnD();
$(document).bind('DOMNodeInserted',applyDnD);
函数applyDnD(){
$(“#表1”)。表D({
onDragClass:“myDragClass”,
onDrop:函数(表、行){
var rows=table.tBodies[0]。行;
对于(变量i=0;i
$(document).ready({

    applyDnD();
    $(document).bind('DOMNodeInserted', applyDnD);

    function applyDnD() {
        $("#table-1").tableDnD({
            onDragClass: "myDragClass",
            onDrop: function (table, row) {
                var rows = table.tBodies[0].rows;
                for (var i = 0; i < rows.length; i++) {
                    debugStr += rows[i].id + " ";
                    alert(rows[i].id);
                }
            },
            onDragStart: function (table, row) {}
        });
    };

});