https://jsfiddle.net/7scfk81L/
我有这样的文档结构
<div id="container">
<div id="inner"></div>
</div>
我添加dragEnter
&amp; dragLeave
监听容器
但是当我拖入文件时,它会在通过子元素时触发容器dragLeaver
和'dragEnter'事件
有没有办法让父元素解除阻止?
我尝试将pointer-events: none
添加到inner
,
但那不是我真正想要的,
我希望可以操纵子元素
答案 0 :(得分:0)
嗯..我自己解决了
在子元素事件上设置开关,父元素根据开关
过滤事件let isChildEntered
container.addEventListener('dragenter', (e) => {
if (!isChildEntered) {
console.log('dragenter')
}
})
container.addEventListener('dragleave', (e) => {
if (!isChildEntered) {
console.log('dragleave')
}
}, true)
inner.addEventListener('dragenter', e => {
isChildEntered = true
})
inner.addEventListener('dragleave', e => {
isChildEntered = false
})