我正在使用:bootstrap.min,jquery-1.10.2,jquery-ui-1.10.4.min。 使用这些库我想提供拖放功能。 Bootstrap按钮应该是可拖动的,但它们不是。控制台日志很明确。 jQuery& jQuery UI已加载&的工作原理。
脚本:
<script type="text/javascript">
$(document).ready(function() {
$('.btn.verticalButton').draggable({
connectToSortable: '.container',
containment: 'document',
helper: function(){ return $(html); }
});
$("#droppable").droppable({
drop: function (event, ui) {
$(ui.draggable).clone().appendTo(this);
$(ui.draggable).remove();
}
});
});
</script>
Html:
<div class="container">
<div class="row">
<div class="col-sm-6 col-md-6">
<div class="panel panel-info text-center">
<div class="panel-heading text-center">Buttons</div>
<div class="btn-group-vertical">
<button class="btn verticalButton">B1</button>
<button class="btn verticalButton">B2</button>
<button class="btn verticalButton">B3</button>
</div>
</div>
</div>
</div>
</div>
答案 0 :(得分:4)
默认情况下,jQuery UI不会向button
类型的元素添加可拖动。
防止从指定元素开始拖动 默认强>:
"input,textarea,button,select,option"
如果您希望能够在按钮上使用Draggable,则必须通过指定cancel: false
$('.btn.verticalButton').draggable({cancel:false});
或者您可以尝试将button
元素更改为a
nchor元素:
<a class="btn btn-default">B1</a>
此外,您正在使用的helper
选项功能似乎干扰了拖动操作。
要使用connectToSortable
,您应该使用helper: "clone"
。
答案 1 :(得分:1)
如果您确实要拖动button
,可以将其放入div
并将{cancel:false}
选项添加到draggable
功能。例如:
<div class="verticalButton"><button class="btn">B1</button></div>
然后
$('.verticalButton').draggable({cancel:false});