控制HTML5拖放效果的外观

前端之家收集整理的这篇文章主要介绍了控制HTML5拖放效果的外观前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
有没有办法使用HTML5拖放API来控制“拖动什么”的外观?

通常,无论HTML元素是可拖动的,它是什么变成半透明的,并且跟随你的光标,直到你停止/删除.我想控制,以便我可以从一个元素的任何地方开始拖动,但是当你实际上开始拖动时,我可以只有一个小的图像跟随光标,正好在光标所在的位置.

实际的例子是:一个要拖动的东西的列表,每个都是一个小图像和一些文本的名称,你将拖到它的一边.我想要在图像或文本中的元素中的任何位置启动我的拖动,但是只有图像跟随您的光标,并直接在光标下方,而不是从您开始拖动它的位置偏移.

我可以想到几个方法来欺骗它(一个隐藏的元素,出现在鼠标光标所在的位置,当你开始拖动,是你实际拖动的),或者诉诸于经典的Javascript拖放.

谢谢

解决方法

我认为.setDragImage(element,x,y);可能是你正在寻找的.
function handleDragStart(e) {
    var dragIcon = document.createElement('img');
    dragIcon.src = 'http://...';
    dragIcon.width = 100;
    e.dataTransfer.setDragImage(dragIcon,y);
}

this.addEventListener('dragstart',handleDragStart,false);

示例:jsfiddle.net/cnAHv/

猜你在找的HTML5相关文章