似乎Safari不能很好地处理拖放。在下面的代码片段中,绿色div 在拖动时不会跟随鼠标指针,而是跟随它向右和向下移动。
编辑:当嵌入到这里时,拖动时看不到绿色div。这把小提琴更好 https://jsfiddle.net/8vckLerm/1/
我找不到任何技巧来使其正常运行。有人有什么建议吗?
谢谢
function ods(ev) {
console.log('START');
}
function od(ev) {
ev.preventDefault();
console.log('DROP');
}
function odo(ev) {
ev.preventDefault();
console.log('OVER');
}
div {
border: 1px solid black;
padding: 1em;
margin: 1em;
background: white;
}
div[draggable] {
background: #cfc;
position: relative;
}
<div ondragstart="ods(event)" draggable="true">
Drag Me
</div>
<div ondrop="od(event)" ondragover="odo(event)">
Hello
</div>
将此行添加到ods
函数中。
ev.dataTransfer.setData("text", ev.target.id);
更新的小提琴
function ods(ev) {
ev.dataTransfer.setData("text", ev.target.id);
console.log('START');
}
function od(ev) {
ev.preventDefault();
console.log('DROP');
}
function odo(ev) {
ev.preventDefault();
console.log('OVER');
}
div {
border: 1px solid black;
padding: 1em;
margin: 1em;
background: white;
}
div[draggable] {
background: #cfc;
position: relative;
}
<div ondragstart="ods(event)" draggable="true">
Drag Me
</div>
<div ondrop="od(event)" ondragover="odo(event)">
Hello
</div>