【发布时间】:2012-12-15 01:43:58
【问题描述】:
我用按钮将元素添加到绿色 div,然后我想拖动它们做红色 div。在拖动时(只是移动到红色元素)它会移动(或小跳跃)。看看我的小提琴:http://jsfiddle.net/KzWkS/ 试试看。
jQuery(document).ready(function() {
$('#pridaj').click(function(){
$("<div style='border:1px solid black; position: relative;padding:3px;margin:2px;width:190px;float:left;' class='keyword'>"+$('#newArea').val()+"</div>").appendTo('#green');
$('#newArea').val('');
});
$('.keyword').live('mouseover',function(){
$('.keyword').draggable({connectToSortable:'#red'});
});
});
$(function() {
$( "#red" ).sortable();
$( "#red" ).disableSelection();
});
而且..如果我想把它们拖回来,它也会做这些事情......
可能定位(绝对/相对)有问题,但我还没发现。
【问题讨论】:
-
$.live()已被弃用,这是处理新元素事件的糟糕方法(由 jQuery 开发团队提供)。请改用$.on(),您可以将其放在包含您要捕获的元素的元素上。 -
或者在这种情况下,当
.keyword插入button点击时,将$.draggable()附加到.keyword。 -
我还没有解决跳跃问题,但请看这个小提琴我上面的建议:jsfiddle.net/KzWkS/1
-
这是影响可拖动的排序。添加了一个
.ui-sortable-helper类并操纵了样式,这改变了样式并改变了.keyword可拖动显示的方式。还没想好要做什么,但这是我所在的位置:jsfiddle.net/userdude/KzWkS/3
标签: javascript jquery-ui jquery-ui-sortable jquery-ui-draggable