我在这个小提琴中的 jQuery 拖放环境没有按预期运行:每个初始 div 应该是可自由拖动的,并且“adddiv”按钮将添加另一个可拖动的 div。它们不应该停止被拖动,它们应该能够再次被拖动而不是冻结在适当的位置。
我习惯于 .draggable()
启用拖动,也可以向控制台报告定位并.append()
添加更多 div。
现在,在初始移动之后,它们会冻结,但附加的 div 可以再次移动。
我在这个小提琴中的 jQuery 拖放环境没有按预期运行:每个初始 div 应该是可自由拖动的,并且“adddiv”按钮将添加另一个可拖动的 div。它们不应该停止被拖动,它们应该能够再次被拖动而不是冻结在适当的位置。
我习惯于 .draggable()
启用拖动,也可以向控制台报告定位并.append()
添加更多 div。
现在,在初始移动之后,它们会冻结,但附加的 div 可以再次移动。
我解决了你的问题。
每次单击添加 div 时,您都在创建一个具有相同 id '6' 的 div。
$("#adddiv").click(function() {
$('<div></div>').draggable().appendTo($('#set'));
});
小提琴:http: //jsfiddle.net/vQ3Tg/1/
动态分配属性值,例如 -
$("#adddiv").click(function() {
var lastid = $("#set div").last().attr('data-need')
lastid = parseInt(lastid) + 1;
$('#set').append('<div id="' + lastid+ '" data-need="' +lastid + '"></div>');
$( "#" + lastid ).draggable();
});
可能有更简洁的方法来做到这一点。尽管如此,这仍然适用于您的 jsFiddle http://jsfiddle.net/vQ3Tg/,用于超过 1 个动态附加块,而不会冻结。
您必须使用类而不是 id。演示在这里。
$('#set').append('<div class="6" data-need="6"></div>');