Jquery – DIV内部的function在刷新后无法正常工作

我有一个表“group1”包含表和行。 我使用这个插件(tableDnD)向上/向下拖动行,它一切正常。 我有另一个Jquery函数删除DIV“group1”中的行并仅刷新DIV,这也可以正常工作。

$('#group1').tableDnD({ onDrop: function(table, row) { $.post('updateRecord.asp?', { pagesid : "1", arr : $.tableDnD.serialize() }); } }); 

现在,删除行后,更新了DB,然后刷新了DIV,上面的jQuery选项拖动行向上/向下不再有效(如果我刷新整个页面,它会工作)。 我做了一些研究,看到人们建议使用委托选项,但我不知道如何申请$('#group1').tableDnD函数。

更新 – 我试过这个,但没有运气。

 $(document).on('tableDnD', '#group1', function(){ onDrop: function(table, row) { $.post('updateRecord.asp?', { pagesid : "1", arr : $.tableDnD.serialize() }); } 

});

任何建议,将不胜感激。

您可以创建自己的事件并调用它

  $('body').on('apply_tableDnD', '#group1', function() { $('#group1').tableDnD({ onDrop: function(table, row) { $.post('updateRecord.asp?', { pagesid: "1", arr: $.tableDnD.serialize() }); } }); }); 

这将在div刷新后调用

 $('#group1').trigger('apply_tableDnD'); 

更新:看起来这个问题已经被问到了 – 添加新行后拖放不工作请查看meataxe的答案。

请查看此文档: http : //api.jquery.com/on/

我不确定,但你可以像这样传递tableDnD函数:

 $(document).on('tableDnD', '#group1', function(){ // code for on drag });