Dom*_*fin 4 html javascript google-chrome html5-canvas html5-draggable
我试图在本机 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/
| 归档时间: | 
 | 
| 查看次数: | 3087 次 | 
| 最近记录: |