- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我在单页应用程序中使用 html5 dragevents。
目前,我正在监听 dragleave
和 dragenter
事件以在元素上设置适当的类。
但是,当两个有效的目标元素(A 和 B)彼此相邻时,我们将一个元素从 A 拖到 B 中,事件将按以下顺序触发。
+--------------+-------------+
| | |
+-------+ | A | B |
| | | | |
| Elem +------------------------------------> |
| | | | |
+-------+ | | |
+--------------+-------------+
dragenter
的 Adragenter
dragleave
的 A事件的预期顺序是,
dragenter
的 Adragleave
的 Adragenter
我假设这是顺序,因为项目必须在进入 B
之前离开 A
。我在这里错过了什么吗? dragenter
在 dragleave
之前被解雇是否有理由?有没有办法改变这种行为?
我有一个 JSFiddle here .
代码本身非常简单,dragenter
和 dragover
被监听。
dragenter: function(e) {
console.log("basket dragenter");
// logic here
},
dragleave: function(e) {
console.log("basket dragleave");
// logic here
},
最佳答案
聚会有点晚了,但这是我的用例。想象一下 B 完全包含在 A 中:
+---------------------------+
| A |
| +---------------+ |
+-----+ | | B | |
| | | | | |
| -|------|------|---> | |
+-----+ | | | |
| | | |
| +---------------+ |
+---------------------------+
您可以将 A 完全留在此处,也可以将其留在此处以转到 B。B.dragenter 在 A.dragleave 之前被触发这一事实使您可以了解 A.dragleave 中的拖动方向处理程序。
事实上,我只是意识到您的用例也是如此:您可以将 A 留空(左上-下)或转到 B(右)。
请注意,以上是我对“为什么”有用的解释。规范的这一部分确认了行为本身:
https://www.w3.org/TR/html51/editing.html#drag-and-drop-processing-model
关于javascript - HTML 5 拖动事件 : 'dragleave' fired after 'dragenter' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43275189/
我有一个 dragenter 的工作示例和 dragleave突出显示应放置文件的区域的事件。本例 works correctly . 现在如果我只添加一个 在我的 dragenter 区域内,hig
概述 我有以下 HTML 结构,并附上了 dragenter和 dragleave 的事件元素。 this is some text
我正在编写一个 WPF 应用程序,在应用程序的控件中支持拖放,并且还在我的桌面文件和我的应用程序之间拖放。我用装饰器来改变我的鼠标光标。 控件之间的内部拖放操作没有问题。问题是桌面文件和我的应用程序之
我在使用“dragstart”、“dragleave”事件的浏览器上处理拖动事件。当仅添加宽度属性时,Internet Explorer 11 中的行为非常不同。一旦为元素指定了宽度属性,dragLe
请在 - http://jsfiddle.net/fSB32/2/ 查看演示 我的意图是在 document 上触发拖动事件时出现叠加层。因此,允许用户将图像拖放到文档的任何位置。当他这样做时,会出现
我正在尝试跟踪整个屏幕的 dragenter/leave,到目前为止,这在 Chrome/Safari 中运行良好,由来自 https://stackoverflow.com/a/10310815/6
我遇到的问题是当悬停该元素的子元素时会触发该元素的 dragleave 事件。另外,dragenter 在再次悬停父元素时不会触发。 我做了一个简化的 fiddle :http://jsfiddle.
我在 Canvas 上有一个拖放操作,当一个对象被拖入和拖出它时,它应该做一些事情。我的问题是 DragEnter/DragLeave 事件在鼠标将对象移动到它上面时不断触发,而不仅仅是在进入/退出时
从父控件拖动到子控件时,我收到 DragLeave 事件。我只希望在超出控件范围时获得此事件。我该如何实现? 请引用这个简单的示例应用程序。 Hilight and Dra
我之所以注意到这一点,是因为我错误地尝试将 DragEventHandler 附加到 DragLeave 事件。我惊讶地发现 DragLeave Event 就像一个通用的 EventHandler。
自定义 UserControl ChartControlShelf 包含一个 TableLayoutPanel 和 3 个子控件,所有类型都是 Panel。 children 没有 EventHand
在拖放中,dragLeave 事件有时会在 drop 事件之前触发。 这会导致问题,因为目标是在 dragEnter 中使用 dragLeave 获取监听器并删除监听器。如果 dragLeave 在
HTML 拖放 API 定义了两个非常相似的事件,dragleave 和 dragexit,它们与 dragenter 一起用于帮助跟踪当前下降目标。 快速搜索没有找到关于这两个事件的任何当前和清晰的
我正在尝试创建一个元素,用户可以在拖动元素时将鼠标悬停在其上以缓慢向下滚动页面。这是支持我的拖放编辑器所必需的。 我正在检测用户是否将鼠标悬停在 anchor 上并进行拖动,如果是,我会启动一个 $i
我注册了 HTML5 DnD 事件,以便从桌面获取拖放文件。我看到的问题是我总是在 drop 事件之前得到 dragleave 事件。在规范中没有提到这样的事情 - 如果您使用 dragleave 作
我在我的 Angular 应用程序中使用原生 HTML 拖放,我发现了这个事件闪烁的问题 This答案并不能解决我的问题,因为他们正在手动移动元素。我将其保留在 native 实现中。 我的简化代码:
当拖入时当涉及到 时,边框和文本的颜色从灰色完美变为黑色它变回灰色。 CSS: .upload-cont{ cursor:pointer; margin-left:130px;
指针事件:无;已经实现了,在调试中, bool 值在“拖动”和“拖动OL”的true和false之间快速切换 HTML 结构
我正在通过引用此 link 对 HTML5 拖放概念进行研究工作.目前,我遇到了 dragenter 事件的问题,该事件在 dragleave 之前第二次触发(针对子元素)。因此,在某些情况下,当 d
我在单页应用程序中使用 html5 dragevents。 目前,我正在监听 dragleave 和 dragenter 事件以在元素上设置适当的类。 但是,当两个有效的目标元素(A 和 B)彼此相邻
我是一名优秀的程序员,十分优秀!