javascript - 设置css“pointer-events-none”时触发“onMouseMove”事件
问题描述
我有一个 React 组件,其absolute
定位div
覆盖了我的应用程序中的其他内容。div
用于触发反应的事件onMouseMove
。
我想设置css值pointer-events-none
,以便下面的所有组件div
仍然可以点击,有指针事件等。无论何时pointer-events-none
存在,onMouseMove
事件都不会再触发。一切都应该表现得像覆盖div
不存在,它应该只是 fire onMouseMove
。
代码结构如下所示:
<button>I should be clickable</button>
<div>
<div
style={{
opacity: 0,
position: `absolute`,
top: `50px`,
left: `50px`,
width: `30vw`,
height: `30vh`,
pointerEvents: `none`,
}}
onMouseMove={() => {
console.log(`Fire!`)
}}
>
Overlay
</div>
<button>I should be clickable</button>
<a>I should be clickabel</a>
</div>
<button>I should be clickable</button>
我想我错过了一些东西,或者在这里选择了一条完全错误的道路。非常感谢你的帮助!
解决方案
您需要将覆盖 div 放在根目录(在这种情况下事件会传播),删除 pointerEvents 规则和不透明度,以便 div 内的内容可见:
<div
style={{
position: `absolute`,
top: `50px`,
left: `50px`,
width: `30vw`,
height: `30vh`
}}
onMouseMove={() => {
console.log(`Fire!`)
}}
>
<button>I should be clickable</button>
<button>I should be clickable</button>
<a>I should be clickable</a>
<button>I should be clickable</button>
</div>
推荐阅读
- c# - 如何将 InfluxDB 查询转换为列表
? - python - 带有纬度和经度位置的熊猫数据框的轮廓
- openstack - 用于外部网络的 Openstack Vlan 设置
- fortran - 添加一个小值后,一个实变量可能不会改变?
- count - MS Access:计算表单上多值字段中的选定项目
- asp.net-mvc - 分配用户数据并使其在模型对象和控制器中可用
- rest - API 平台 Richardson 成熟度模型 3 级
- html - 可在移动设备上堆叠的双视频
- node.js - 如何设置 mongoDB 的新 CSFLE 功能,使用 nodejs 显式加密隐式解密?
- flutter - 错误:提供者消费者 - 飞镖(return_of_invalid_type)