繁体   English   中英

HTML5 Draggable setDragImage不适用于Chrome上的画布

[英]HTML5 Draggable setDragImage doesn't work with canvas on Chrome

我正在尝试使用画布作为本机HTML5拖放API中的拖动图像。

问题是它可以在Firefox上运行,但不能在Chrome(58)上运行,我无法查明问题所在。

代码: https//jsfiddle.net/196urLwd/5/


<div id="thing" draggable="true">DRAG ME</div>

function onDragStart(event){

    var canvas = document.createElement('canvas');
    var context = canvas.getContext('2d');

    canvas.width = 100;
    canvas.height = 20;

    context.fillStyle = '#333333';
    context.fillRect(0, 0, canvas.width, canvas.height);

    context.fillStyle = '#999999';
    context.font = 'bold 13px Arial';
    context.fillText('DRAGGING...', 5, 15);

    event.dataTransfer.setData('text', 'lorem ipsum');
    event.dataTransfer.effectAllowed = 'copy';    
    event.dataTransfer.setDragImage(canvas, -15, 9);

};

var theThing = document.getElementById('thing');
theThing.addEventListener('dragstart', onDragStart, false);

我究竟做错了什么?

Chrome似乎要求将画布放入dom

document.body.append(canvas);

并用一些CSS隐藏它

canvas{
  position:absolute;
  left:-100%;
}

https://jsfiddle.net/196urLwd/6/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM