为什么HTML5拖放的目标是孩子?(可排序列表)
Why does HTML5 Drag n Drop target child? (Sortable List)
当我尝试使用HTML5 Drag n Drop创建可排序列表时,Drop事件(e.target
)的目标是Drop zone元素的子元素,而不是Drop zon元素本身。这太糟糕了。
我希望以下代码中e.target
的值是包含ondrop="drop(event)"
的div
,而不是它的<p>
子级。
链接到带有完整示例的JSFiddle。
function drop(e) {
e.preventDefault();
var data = e.dataTransfer.getData("text");
e.target.appendChild(document.getElementById(data));
}
这是因为事件冒泡还是类似的原因?什么是能帮助我创建拖放可排序列表的最佳修复程序?
编辑:我希望了解本地HTML5和Javascript,而不是使用jQuery库或类似的库。
您正试图追加到目标元素,因此您面临问题。
您应该尝试在目标元素之前插入该元素。
function drop(e) {
e.preventDefault();
var data = e.dataTransfer.getData("text");
var list = document.getElementById("list");
list.insertBefore(document.getElementById(data), e.target.parentNode);
}
这是更新的fiddle
相关文章:
- 为什么HTML5拖放的目标是孩子?(可排序列表)
- jQuery拖动到相对位置的可排序列表中时出现可拖动辅助对象位置问题
- jQuery带计数器的可排序列表
- 我们可以在 CouchDB 中对排序列表视图进行排序吗?
- SharePoint :按日期排序列表
- jQueryUI可排序-从可排序列表中删除li
- Rails3-可排序列表不能与wysihtml5一起工作
- 如何同步包含克隆元素的jquery可排序列表
- 无法将id放在Jquery插件生成的模式中的未排序列表上
- 为未排序列表设置onclick()属性
- Mvc4将Jquery可排序列表项的顺序保持到控制器
- 无法从jQuery可排序列表中删除新添加的项
- iframe内容可编辑,位于jqueryUI可排序列表项中
- 对象的数组列表的Javascript排序列表-基于特定的数组列表
- 动态生成<选择>未显示已排序列表中的第一个项目
- 从 ajax 调用到 jquery UI 可排序列表构建 html
- 使用 jqueryui 的多个可排序列表 - 不希望项目在列表组之间混合
- jQuery - 获取可排序列表的索引
- jQuery - 排序后更新可排序列表
- YUI 轮播导航按钮在排序列表下