使用jqueryui';s可拖动,如何更改停止时的还原?
我想知道您是如何更改jqueryui中从stop事件拖动的内容的“revert”属性的使用jqueryui';s可拖动,如何更改停止时的还原?,jquery,jquery-ui,events,draggable,jquery-ui-draggable,Jquery,Jquery Ui,Events,Draggable,Jquery Ui Draggable,我想知道您是如何更改jqueryui中从stop事件拖动的内容的“revert”属性的 $('.things').draggable({ revert: "true", stop: function(event, ui){ //if something then set revert to false } }); 我试过一些方法,但似乎无法奏效 干杯。停止事件发生得太晚,对恢复选项
$('.things').draggable({
revert: "true",
stop: function(event, ui){
//if something then set revert to false
}
});
我试过一些方法,但似乎无法奏效
干杯。停止事件发生得太晚,对
恢复
选项的更改无法影响当前的拖动操作。即使在下一次拖动中不再这样做,可拖动对象仍将恢复
您可能希望绑定到事件:
$('.things').draggable({
revert: true,
drag: function(event, ui) {
if (/* something */) {
$(this).draggable("option", "revert", false);
}
}
});
我意识到这个问题提出已经有一段时间了,但是在jQueryUI1.10及更高版本中
draggable
现在支持一个函数作为revert
的值。如果该值返回true,则位置将恢复,否则不会恢复
$('.things').draggable({
revert: function() {
if(condition_is_met()) {
return false; // Don't revert
} else {
return true;
}
}
});
这是可行的,但我不想在拖拽上附加一些大的处理,在IE和旧的FFs中,拖拽会大大降低速度。在拖拽的生命周期中,是否还有其他东西可以附加到它上,一些预先停止的东西。唉,据我所知,没有。您能否提供更多关于您正在执行的繁重处理的详细信息,以确定
某些内容
?也许有更好的方法来实现你的目标。