首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何决定是接受还是拒绝可拖入可下垂的jQuery

如何决定是接受还是拒绝可拖入可下垂的jQuery
EN

Stack Overflow用户
提问于 2011-04-07 12:49:16
回答 1查看 2.9K关注 0票数 5

我使用的是jQuery,我有以下问题:

在我的网站上,我有一个棋盘。每个正方形都是一个简单的div,其背景属性显示为白色或黑色。在这些方块上(在div内),我放置了一个img标记,以引用必须在该方块上的部分。类似于:

代码语言:javascript
运行
复制
<div id="a8" class="square" style="background-image: url('/images/background_white.png')">
<img id="piece_a8" class="piece" src="/images/rook_black.png" />
</div>

我可以用jQuery控制棋子的运动。每个piece-class img都是可拖的,每个square-class div都是可下拉式的。我已经有了一个服务器端函数,给定一组坐标,如果移动有效,则返回“有效”,如果不是这样,则返回“无效”。我的想法是,如果服务器返回“无效”,则必须返回到其原点,如果服务器返回“有效”,则必须保留在新的方框中,删除目标广场内的每个其他部分。

我的问题是,我不知道如何在我的jQuery代码中强制执行这个返回值。我尝试过将函数放入可拖放的revert属性中,以及在可下拉式的acceptdrop函数中,但我还没有找到如何使$.get返回false或true。

任何帮助都会很感激的。

提前谢谢你,

莱斯特

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-04-07 15:50:21

“不介意,”回答。

如果有人需要知道,诀窍有两部分:

First:在可拖放定义中的中,在start事件下添加一个保存原始位置的函数。如下所示:

代码语言:javascript
运行
复制
$('item_to_drag').draggable({
    start: function(){
        $(this).data("origPosition",$(this).position());
    }
});

第二步:在可下垂定义中的中,在drop事件下,执行.get并使用一个函数来处理答案;如果您的条件不满足,则将拖放回到原来的位置。如下所示:

代码语言:javascript
运行
复制
drop: function (event, ui) {
        $.get(url,function(data) {
            if (data == '"INVALIDO"')
            {
                ui.draggable.animate(ui.draggable.data("origPosition"),"slow");
            }
            else
            {
                //store new positions, whatever;
            }
        }
    );
}

那就行了。

部分答案来自于这里:In jQuery, how to revert a draggable on ajax call failure?

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5581288

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档