[英]Drag & Drop : Cursor in Chrome
我的问题是在Chrome中,光标不会随着可拖动项移动。 在IE中工作正常。 我有jquery和jquery-ui 1.11.1,这是我正在使用的脚本
function allowDrop(ev) {
ev.preventDefault();
}
function drag(ev) {
ev.target.innerHTML += ' '; // Add space so that there is no kerning...
ev.dataTransfer.setData("Text", ev.target.id);
}
function drop(ev) {
ev.preventDefault();
var data = ev.dataTransfer.getData("Text");
ev.target.parentNode.replaceChild(document.getElementById(data), ev.target);
document.getElementById(data).className = " ";
}
function drop(ev)
{
ev.preventDefault();
var data=ev.dataTransfer.getData("Text");
if(ev.target.getAttribute('data-drop') == data)
ev.target.appendChild(document.getElementById(data));
}
也许缺少了一些东西。 帮助将不胜感激
问题是拖动图像(“阴影”)被移到#word
的角落,对吗?
Chrome似乎在计算位置错误,可能是因为<span>
和<center>
标签,我想...
您可以使用setDragImage
方法修复该问题,将setDragImage
设置为事件的target
,并根据点击位置设置偏移量,这将强制Chrome正确渲染它:
function drag(ev) {
ev.target.innerHTML += ' '; // Add space so that there is no kerning...
ev.dataTransfer.setData("Text", ev.target.id);
ev.dataTransfer.setDragImage(ev.target, ev.layerX - ev.target.offsetLeft, ev.layerY - ev.target.offsetTop);
}
它在这里工作http://jsfiddle.net/wv19zzsd/5/
(在我的小提琴中,我将“类型”更改为“文本/纯文本”只是为了测试是否是问题的原因,但不是)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.