2

在将 HTML5 拖放中的“dragImage”设置为div元素时,我遇到了问题。问题是当setDragImage(helper, x, y)函数的第一个参数没有出现在 dom 中或被隐藏时,当 'dragstart' 事件被触发时它是不可见的。看看我的小提琴:http: //jsfiddle.net/AemN5/10/

在小提琴中,我正在渲染助手(它被着色为黄色),而不是尝试拖动绿色的可拖动框,当拖动开始时,助手会附加到鼠标上。但是,尝试单击助手上方的按钮以隐藏助手。比再次尝试拖动绿色可拖动框 - 我的鼠标没有附加助手。

有什么想法为什么会发生,更重要的是如何解决问题?因为我的主要目标是拥有不可见的助手,并且只有当用户开始拖动时才使其可见,附加到光标上。

4

2 回答 2

2

这是一种可能的解决方案http://jsfiddle.net/AemN5/12/

于 2012-05-03T10:09:49.183 回答
0

尝试这样做..
chrome 要求至少在拖动开始之前显示图像。

$("[draggable]").on("dragstart", function(e) {
    $("#img1").show();

    e.originalEvent.dataTransfer.setDragImage(helper, 50, 50);

    setTimeout(function(){
        $("#img1").hide();
    },0);
});
于 2013-07-17T06:51:43.947 回答