gpt4 book ai didi

jquery - 在 jQuery 中,如何恢复 ajax 调用失败时的可拖动?

转载 作者:行者123 更新时间:2023-12-03 22:07:40 26 4
gpt4 key购买 nike

如果 drop 上的 ajax 调用返回失败,我希望可拖动对象恢复到其原始位置。这是我想象的代码。如果在 ajax 调用过程中可拖动对象位于可放置对象中,那就可以了...

<script type="text/javascript">
jQuery(document).ready($){
$("#dragMe").draggable();
$("#dropHere").droppable({
drop: function(){
// make ajax call here. check if it returns success.
// make draggable to return to its old position on failure.
}
});
}
</script>
<div id="dragMe">DragMe</div>
<div id="dropHere">DropHere</div>

最佳答案

感谢您的重播@Fran Verona。

我是这样解决的:

<script type="text/javascript">
jQuery(document).ready($){
$("#dragMe").draggable({
start: function(){
$(this).data("origPosition",$(this).position());
}
});
$("#dropHere").droppable({
drop: function(){
//make ajax call or whatever validation here. check if it returns success.
//returns result = true/false for success/failure;

if(!result){ //failed
ui.draggable.animate(ui.draggable.data().origPosition,"slow");
return;
}
//handling for success..
}
});
}
</script>
<div id="dragMe">DragMe</div>
<div id="dropHere">DropHere</div>

想要避免任何新的全局变量,而且变量的数量也是不可预测的,因为在第一个正在进行时(即第一个调用返回之前)可能会发生许多拖放......!顺便说一句,对于任何寻找相同答案的人来说,.data()不适用于所有元素,我不确定 jQuery.data() , 尽管..如果有人发现其中有任何问题,请告诉我! :)

关于jquery - 在 jQuery 中,如何恢复 ajax 调用失败时的可拖动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5311694/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com