【问题标题】:Dojo drag and drop gets angry after adding new row添加新行后,Dojo 拖放会生气
【发布时间】:2011-10-06 06:23:19
【问题描述】:
我在 Dojo 中有一个带有可拖动行的表格。当我通过 javascript 在表中动态添加新行时,它会在拖动新创建的行时产生问题。在控制台上显示
无法加载源代码。然而它会拖拽已经在表格中的其他行。
在创建新行时,我还给我的行这个类class="dojoDndItem"。我的<tbody> 是<tbody dojoType="dojo.dnd.Source">
在创建新行时我需要做一些特别的事情吗?
【问题讨论】:
标签:
html
drag-and-drop
dojo
draggable
【解决方案1】:
您可以尝试在您的 dnd 源 dijit 上使用 insertNodes 方法吗?我认为仅使用 javascript 添加节点不会触发将其注册为可拖动元素并设置事件侦听器的 DND 源代码。
【解决方案2】:
dojo 没有更新它的可拖动节点的问题。也通过查看源不显示新创建的行。 Dojo dnd 源有一个名为autoSync 的属性。见dojo.dnd.Source api。它默认设置为 false,但启用它为 true 可以工作。它会自动同步节点,并且所有新生成的节点都可以拖放。
所以之后变成<tbody dojoType="dojo.dnd.Source" autoSync="true">