- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 dropzone
中有两个嵌套元素并从外部元素拖动到内部元素时,dragleave
操作优先于 dragenter
。
我最初有一个div作为dropzone
,它在dragenter上更改类('canDrop')以指示是否可以放置,而在dragleave上,类恢复为中性('plainDropZone')。
拖放时,draggable
div 将成为 dropzone
div 的子级。现在,当另一个 draggable
进入 dropzone
时,类将更改为“noDrop”,以指示无法再进行拖放。在 dragleave
上,类再次恢复为中性 ('plainDropZone')
问题:当从外部 dropzone
div 拖动到内部放置的 div 时,外部 dropzone
div 不应恢复为中性,但仍具有“noDrop”类.
据我发现,这并不能按预期工作,因为当从外部 div 移动到内部 div 时,dragleave
在 dragenter
之后被触发。该线程很好地形象化了问题:HTML 5 drag events: 'dragleave' fired after 'dragenter'
这是一个完整的演示:https://jsfiddle.net/e12uadgh/
那么,当外部 dropzone
div 有一个已放置的内部 div 并且用户从外部 dropzone
div 拖动第三个 div 时,如何为外部 dropzone
div 分配类“noDrop”呢? code> div 到内部删除的 div?
最佳答案
找到了实现效果的方法。将元素从外部 dropzone div 拖动到内部 dropzone div 时,外部 div 的 dragleave
会在内部 div 的 dragenter
之后触发,以便 dragenter
上的任何更改都有效。 code> 被 dragleave
上所做的更改覆盖。
因此,如果下一个事件目标不是内部 div,则一种解决方案是仅对 dragleave
进行更改。由于这无法通过检查 dragleave
上的 event.target
来完成,因此我们可以使用切换开关,在 dragenter
上将其设置为 true内部 div,并且在内部 div 上的 dragleave
上变为 false。
关于javascript - 如何防止 Dragleave 干扰嵌套 dropzone 元素上的 Dragenter 事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53959713/
我有一个 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)彼此相邻
我是一名优秀的程序员,十分优秀!