为什么HTML5拖放dragImage在隐藏时不会显示?

时间:2012-05-03 08:58:11

标签: javascript html5 drag-and-drop

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

  

在小提琴中,我正在渲染助手(它被涂成黄色),而不是   尝试拖动绿色可拖动框,帮助器附加到鼠标时   拖动开始。但是,请尝试单击帮助程序上方的按钮   隐藏帮手。再试一次拖动绿色可拖动的盒子 - 没有帮手   附在我的鼠标上。

任何想法为什么会发生并且更重要如何解决问题?我的主要目标是拥有隐形帮助器,并且只有当用户开始拖动时才会将其显示为附加到游标上。

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

尝试这样做..
chrome要求图像至少显示,直到拖动开始。

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

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

    setTimeout(function(){
        $("#img1").hide();
    },0);
});