如何从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事件中获取源节点的主要内容,如果未能解决你的问题,请参考以下文章

IE10Chrome获取触发事件节点的源对象

拖拽的效果 第一步 设置 可拖拽的属性 draggable="true" 绑定drag 事件 第二步 设置 放置位置 触发的事件 dragover 第三步 设置 放置之后

如何使用 java 解析水槽事件(Twitter 源)

HTML5拖放的dragover vs dragenter事件

无法触发 drop 事件(是的,我在 dragover 中阻止了 Default()ed)

处理拖动(来自 DragOver 事件)时是不是可以更改鼠标光标? [复制]