jQuery Draggable的行为不符合预期

时间:2013-06-04 12:45:02

标签: javascript jquery jquery-ui

this fiddle中我的jQuery拖放环境的行为不符合预期:每个初始div应该可以自由拖动,“adddiv”按钮将添加另一个可拖动的div。它们不应该停止拖拽,它们应该能够被拖拽而不是冻结在位。

我已使用.draggable()启用拖动并向控制台报告定位,并.append()添加更多div。

刚开始移动后,它们会冻结,但附加的div可以再次移动。

3 个答案:

答案 0 :(得分:2)

我解决了你的问题。

每次点击添加div时,您都在创建一个ID为“6”的div。

$("#adddiv").click(function() {
  $('<div></div>').draggable().appendTo($('#set'));

});

小提琴:http://jsfiddle.net/vQ3Tg/1/

答案 1 :(得分:0)

动态分配属性值,例如 -

  $("#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个动态附加的块,没有冻结。

答案 2 :(得分:0)

你必须使用class而不是id。 Demo Here

$('#set').append('<div class="6" data-need="6"></div>');