gpt4 book ai didi

javascript - jQuery UI - 在移动事件或恢复完成后调用函数

转载 作者:行者123 更新时间:2023-11-28 00:45:29 25 4
gpt4 key购买 nike

我正在尝试使用 jsPlumb 和 jQuery-ui 可拖动对象。它在大多数情况下工作得很好,但我有一些东西似乎不太正确。基本上,当我将元素拖离屏幕时,它会恢复到其原始位置。不幸的是,当我恢复一个元素时,连接线保留在我放置该元素的位置。

基本上是这样的:

enter image description here

变成这样:

enter image description here

然后,当我拖动元素时,节点会自行纠正。我通过在这里编写一小段代码解决了这个问题:

    var outOfBounds = function(){
setTimeout(function(){
instance.repaintEverything();
},800);
return isOutOfBounds();
}

// make them draggable
instance.draggable($(node), {revert:outOfBounds, drag:instance.repaintEverything});

但是,setTimeout 不太适合我。这似乎不是一个合适的地方来称呼这样的事情,也不是解决问题的正确方法。我想在元素移动之后(或同时)做一些事情,但我在文档或在线中没有看到类似的事情。似乎没有其他人愿意这样做。我发现的最接近的是 this question,但我没有使用 droppable,并且不想在我的项目中添加比我需要的更多的东西。不幸的是,可拖动对象上的拖动选项仅在用户拖动时调用,而不是在恢复时调用。

最佳答案

您可以使用stop event可拖动小部件的回调以触发重新绘制,因为一旦恢复完成就会触发它。

instance.draggable($(node), {
revert:isOutOfBounds,
drag:instance.repaintEverything,
stop:instance.repaintEverything
});

关于javascript - jQuery UI - 在移动事件或恢复完成后调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27460560/

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