如何从dragover事件中获取源节点
Posted
技术标签:
【中文标题】如何从dragover事件中获取源节点【英文标题】:How to get the source node from the dragover event 【发布时间】:2012-06-11 23:20:42 【问题描述】:从dragover(使用jQuery)触发的事件中,如何找到源节点(被拖动的元素)?
http://www.w3.org/TR/2008/WD-html5-20080610/editing.html#dragover 似乎无法进行数据传输
编辑: 因此,经过一些额外的研究,Mozilla 似乎支持通过 mozSourceNode 属性。有没有跨浏览器解决方案?
【问题讨论】:
您确实可以访问dataTransfer.types
;因此,如果您可以访问源元素,则可以利用它来发挥自己的优势:jsfiddle.net/Hxb6t(拖动 span 和纯文本)。
【参考方案1】:
如何将源绑定到函数并通过 this 访问它?
object.addEventOrWhatever(function()
source = $(this);
.bind(source));
【讨论】:
这会做什么?这是关于 HTML5 的拖放功能和获取被拖动的数据。 嗯,是的...该函数必须能够接受各种可拖动元素(不能将特定元素绑定到它) 好的,我明白了,我以为你只想拖动一个对象。您是否尝试过设置断点并探索:'this' 和 'arguments' 变量? 所以现在我使用委托事件(jquery .on())来处理拖放。事件处理程序被赋予了一个 jquery 事件对象,我似乎没有看到对 origina 元素的引用 如何保存源对象 ondrag ?以上是关于如何从dragover事件中获取源节点的主要内容,如果未能解决你的问题,请参考以下文章
拖拽的效果 第一步 设置 可拖拽的属性 draggable="true" 绑定drag 事件 第二步 设置 放置位置 触发的事件 dragover 第三步 设置 放置之后
HTML5拖放的dragover vs dragenter事件