events - 拖动子元素时触发 Svelte 可拖动,onleave 事件
问题描述
我有一个元素,当我使用 dragenter 事件在其上拖动第二个元素时突出显示该元素,使用 dragleave 事件删除突出显示。highlight 元素有一个子元素,当拖动元素越过子元素时,会触发 dragleave 事件并且我失去了突出显示。我该如何防止这种情况?
REPL:https ://svelte.dev/repl/8846d8b9674d42ae86a410dbb737fb79?version=3.35.0
<script>
let highlight=""
</script>
<div class="dropon {highlight}"
on:dragenter={ event => {
highlight="highlight"
console.log( "enters")
}}
on:dragleave={ event => {
highlight=""
console.log( "leaves")
}}
>
<div class="inner">
drop on me
</div>
</div>
<div class="drag" draggable={true}>drag me</div>
<style>
.dropon {
padding: 20px;
margin: 10px;
background: #fee;
}
.drag {
padding:20px;
margin: 10px;
cursor:grab;
background: #efe;
}
.inner {
background: #eef;
padding: 8px;
}
.highlight {
background: red;
}
</style>
解决方案
pointer-events: none;
添加css.inner
像这样:
.inner {
pointer-events: none;
background: #eef;
padding: 8px;
}
推荐阅读
- arrays - 提高 bash 中将文件列与数组进行比较的性能
- javascript - 如何提前一天从当天到一周填充html元素?
- javascript - 尝试循环引导行,使用 DOM 在每个行中添加 3 个 col-4
- python - 如何与子进程交互和使用应用程序的属性
- javascript - React.js 创建一个可以左右移动对象的div
- python - Tkinter Python gui登录不起作用,我该如何解决?
- python - 日期时间字符串解析不适用于语言环境全名
- java - 查找输入字符串JAVA中最后一个字符的索引?
- python - 调用带有默认值的可选参数的函数?
- amazon-web-services - 如何在 AWS S3 上配置 CORS?