javascript - 防止掉落的元素落入已掉落的元素中

标签 javascript jquery html drag-and-drop

那是一口。但是,问题就在这里。我有可以拖放到大 div 中的元素。这些元素是从原始元素克隆而来的。一切正常,除非用户不小心将拖动的元素放入已放置的元素中。我知道这最终会发生,而且结果是一团糟。我一直在寻找解决方案,但似乎找不到。

简单地说,需要一个解决方案来防止已删除的元素被删除到已删除的元素中。如果这样做了,拖动的 div 就会简单地移动到目标 div 的底部。我确信有一个简单的解决方案。我不可能是唯一一个遇到这个问题的人,如果这个问题已经得到解答……我真丢脸。

这是我当前的 JS:

function allowDrop(ev) {
ev.preventDefault();
}

function drag(ev) {
ev.dataTransfer.setData("div", ev.target.id);
var i = 0;
}

function drop(ev,el) { 
var newId = 'newaccount';

ev.preventDefault();
var data=ev.dataTransfer.getData("div");
var nodeCopy = document.getElementById(data).cloneNode(true);
nodeCopy.id = newId+i; 
nodeCopy.class = 'newaccount';
ev.target.appendChild(nodeCopy);
}

提前致谢。

最佳答案

我遇到了同样的问题,我所做的是,当一个div被删除时,我将它的id存储在一个变量中,并将其与上面的元素进行比较,例如

$('#'+idvariable).prevAll.each(function(){
$upperid= $(this).attr("id");
if(idvariable == upperid){
//do something
}
});

由于其他代码,它没有完全解决我的问题,但它可能适用于您的代码。

关于javascript - 防止掉落的元素落入已掉落的元素中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32133394/

相关文章:

jquery - 在没有列包装器的情况下并排 float 堆叠的 div

javascript - 如何在选择框上方获取文本?

javascript - 如何在jquery mobile中正确传递url参数

javascript - 为什么 AJAX 重定向到 PHP 中的新页面

javascript - Ckeditor上传图片404错误/插件设置

javascript - 在类中使用 getJSON(范围问题)

javascript - 切片不针对所有实例

javascript - 我可以为Javascript的replace()传递多个参数(模式)吗?如果没有,有什么好的替代方案吗?

javascript - 使用 jquery validate 在 select2 中输入有效答案后删除类 ('has-error' )

javascript - 修改 jQuery getJSON - 添加调用和回调函数