我注意到当div中的div处理dragenter / leave事件时,拖动内部div会导致外部div触发dragleave
。但这只发生在外部div为position: fixed
时。否则,拖动子/内部div会正确地冒泡到其父级。
示例:https://jsfiddle.net/ffxsam/L2mvbo2t/
将文件拖到输出窗格上,您将看到dropzone显示。如果你继续拖过"呃哦"文字,dropzone消失了。注释掉position: fixed
行,然后再试一次,你就会看到你是否拖了过来呃哦,"掉落区仍然存在。
这是一个错误吗?实际上,我刚才意识到在Firefox中,dragleave
会在我移动到内部div时被触发,而不管position
。我该如何解决这个问题?
答案 0 :(得分:0)
我通过三层解决了这个问题:
全宽button {
position: fixed;
right: 0;
}
背景div,其中包含两个div:
position: fixed
的div显示“drop here to upload。”等文字。z-index: 1
的div,它是全宽度/高度z-index: 2
,位于上一个div的顶部,用于监视拖动事件。