使用 Jquery ui 的可拖动功能,如何更改停止时的恢复?

发布于 2024-11-29 06:27:22 字数 289 浏览 1 评论 0原文

我想知道您如何更改从停止事件中拖动到 Jquery ui 中的某些内容的“恢复”属性。

    $('.things').draggable({ 
        revert: "true",
        stop: function(event, ui){
                        //if something then set revert to false
        }
    });

我尝试了一些方法,但似乎无法让它发挥作用。

干杯。

I was wondering how you changed the "revert" property of something being dragged in Jquery ui from the stop event.

    $('.things').draggable({ 
        revert: "true",
        stop: function(event, ui){
                        //if something then set revert to false
        }
    });

I've tried a few things but I can't seem to get it to work.

Cheers.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

ゃ人海孤独症 2024-12-06 06:27:22

stop 事件发生得太晚,无法对 revert 选项进行更改来影响当前的拖动操作。可拖动对象仍将恢复,即使在下一次拖动中不再这样做。

您可能想绑定到 drag 事件:

$('.things').draggable({ 
    revert: true,
    drag: function(event, ui) {
        if (/* something */) {
            $(this).draggable("option", "revert", false);
        }
    }
});

The stop event occurs too late for changes to the revert option to affect the current drag operation. The draggable will still revert, even if it won't do so anymore in the next drags.

You might want to bind to the drag event instead:

$('.things').draggable({ 
    revert: true,
    drag: function(event, ui) {
        if (/* something */) {
            $(this).draggable("option", "revert", false);
        }
    }
});
时光清浅 2024-12-06 06:27:22

我意识到自提出这个问题以来已经有一段时间了,但在 JQuery UI 1.10 及更高版本中,draggable 现在支持将函数作为 revert 的值。如果该值返回 true,则该位置将被恢复,否则不会。

$('.things').draggable({ 
    revert: function() {
        if(condition_is_met()) {
             return false; // Don't revert
        } else {
             return true;
        }
    }
});

I realize this has been a while since this question was asked, but in JQuery UI 1.10 and above draggable now supports a function as a value for revert. If the value returns true then the position is reverted otherwise it does not.

$('.things').draggable({ 
    revert: function() {
        if(condition_is_met()) {
             return false; // Don't revert
        } else {
             return true;
        }
    }
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文