jquery - 鼠标双击事件自动拖放

标签 jquery jquery-ui drag-and-drop draggable droppable

这是我的 fiddle :FIDDLE

期望:当我双击任何空TD时,自己的TR的可拖动元素可以自动拖放到该>TD

我用谷歌搜索了很多,但找不到完美的解决方案。

我的JS代码

$(function () {
    $(".dragDiv").draggable({
        revert: 'invalid'
    });
    $(".mainTable tr td").droppable({
        accept: function (item) {
            return $(this).closest("tr").is(item.closest("tr")) && $(this).find("*").length == 0;
        },
        drop: function (event, ui) {
            console.log($(this).attr('id'));
            console.log(ui.draggable.attr('id'));
            var $this = $(this);
            $this.append(ui.draggable.css({
                top: 0,
                left: 0
            }));
            ui.draggable.position({
                my: "center",
                at: "center",
                of: $this,
                using: function (pos) {
                    $(this).animate(pos, "slow", "linear", function () {

                    });
                }
            });
        }
    });
});

最佳答案

您可以尝试这样的操作:(Check this fiddle)

$('.mainTable tr td').on('dblclick',function(e) {
    if (!$(this).is(':has(.dragDiv)')) {
        var destTD = $(this);
        var srcTD = $(this).parent().find('td:has(.dragDiv)');
        var drgElement = srcTD.find('.dragDiv');
        drgElement.animate({ left: "+=" + (destTD.position().left - srcTD.position().left) }, "slow", "linear",function() {
            drgElement.appendTo(destTD);  
            drgElement.css({left: 0});              
        });
    }
});

关于jquery - 鼠标双击事件自动拖放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27646011/

相关文章:

javascript - textfield.value = ""在 Firefox 中不起作用,但在 Safari/Chrome 中起作用

javascript - 使用 JavaScript(而不是 HTML5)拖放?

html - 防止 HTML5 拖动幽灵图像飞回

jquery - 使用 css 缩放拖放

javascript - 显示/隐藏列表选择全部而不是单独选择

带对话框的 jQuery 延迟对象

jquery - 从子元素中获取具有特定类的父元素

java - 如何从 Java 服务器端发送图像,并在 JQuery 客户端处理它

javascript - 悬停时的 jQuery 可排序列表句柄

jquery-ui - 防止JQuery的恶意覆盖