我正在使用jQuery UI可排序,如果条件为真,我只是试图阻止拖动.我遇到过这个解决方案:https://stackoverflow.com/a/18470982/3758078但是在拖动停止时取消阻止,而不是在它开始之前.其他解决方案建议return false;
在sort:
事件中使用,但这只会返回错误.
$(elements).sortable({ start: function() { if( true ) { //cancel dragging before it begins } } });
Dekel.. 5
这是一个使用start
回调的工作示例.
您可以使用该allowdrag
复选框启用/禁用拖动功能:
$(document).ready(function () {
$("#draggable").draggable({
revert: "invalid",
start: function(e) {
if (!$('#allowdrag').is(':checked')) {
e.preventDefault();
}
}
});
$("#Dropable").droppable({
activeClass: "ui-state-highlight",
drop: function (event, ui) {
alert("dropped!");
},
tolerance: 'fit'
});
});
#draggable {
width: 150px;
height: 150px;
padding: 0.5em;
}
#Dropable {
height:300px;
width:400px;
border: 2px solid red;
}
Drag me around
Droppable area
您可以将if (!$('#allowdrag').is(':checked')) {
零件更改为您要检查的任何内容,以启用/禁用拖动选项.
这是一个使用start
回调的工作示例.
您可以使用该allowdrag
复选框启用/禁用拖动功能:
$(document).ready(function () {
$("#draggable").draggable({
revert: "invalid",
start: function(e) {
if (!$('#allowdrag').is(':checked')) {
e.preventDefault();
}
}
});
$("#Dropable").droppable({
activeClass: "ui-state-highlight",
drop: function (event, ui) {
alert("dropped!");
},
tolerance: 'fit'
});
});
#draggable {
width: 150px;
height: 150px;
padding: 0.5em;
}
#Dropable {
height:300px;
width:400px;
border: 2px solid red;
}
Drag me around
Droppable area