我想使用dojo将dnd应用于动态创建的div。我已经尝试了很多方法来应用dnd功能。这是我的代码。
var inputdiv = document.createElement('div');
inputdiv.setAttribute("id", count);
inputdiv.style.background = "white";
inputdiv.style.height = "30px";
inputdiv.style.width = "60px";
dojo.addClass(inputdiv, "dojoDndItem");
calculation.appendChild(inputdiv);
答案 0 :(得分:0)
如果您手动将带有dojoDndItem
类的DOM节点添加到dnd源的DOM节点,则可以在dnd源(实际实例,不是)上调用sync
它的DOM节点)使它根据DOM中现在的内容更新数据。
sync
方法列在dojo/dnd documentation。
另外,FWIW,您可以使用dojo.create
更简洁地在代码中执行您正在执行的操作(您似乎正在从旧的全局变量中访问Dojo API,因此我将在此示例中执行相同操作):< / p>
dojo.create('div', {
className: 'dojoDndItem',
id: count,
// Note: it would be more ideal to apply styles via CSS rather than inline
style: {
background: 'white',
height: '30px',
width: '60px'
}
}, calculation);
// Then call sync() on the dnd source once you've finished adding nodes