【发布时间】:2014-05-03 02:12:56
【问题描述】:
根据 HTML5 规范,放置目标上的 dropEffect 属性允许放置目标选择所需的放置效果。拖放框架应将此与拖动源设置的 effectAllowed 属性相结合,以显示匹配的视觉反馈(通常是特定的光标,具体取决于操作)。
但是,我无法跨浏览器一致地使用此功能。它似乎像预期的那样适用于 Chrome 和 Opera,但不适用于 IE 和 FF(尽管每个浏览器的开发人员文档都明确记录了它)。
我在 JSFiddle 上整理了一个示例:http://jsfiddle.net/cleue/zT87T/
function onDragStart(element, event) {
var dataTransfer = event.dataTransfer,
effect = element.innerText || element.textContent;
dataTransfer.effectAllowed = effect;
dataTransfer.setData("Text", effect);
dataTransfer.setDragImage(element, 0, 0);
}
function onDragEnter(element, event) {
var dataTransfer = event.dataTransfer,
effect = element.innerText || element.textContent;
dataTransfer.dropEffect = effect;
event.preventDefault();
}
function onDragOver(element, event) {
var dataTransfer = event.dataTransfer,
effect = element.innerText || element.textContent;
dataTransfer.dropEffect = effect;
event.preventDefault();
}
此示例是否不正确或我对此功能的目的的理解或这些浏览器错误?
【问题讨论】:
标签: html drag-and-drop