[onDragEnd离开视口时不触发

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[onDragEnd离开视口时不触发相关的知识,希望对你有一定的参考价值。

我发现当将图层从视口中拖出并释放鼠标按钮时,该图层仍处于dragmove状态。您是否遇到过此类问题?

在这里查看:https://codesandbox.io/s/llxq3yv829?file=/index.js

将红色矩形拖出视口,它仍然会粘在光标上。

谢谢!

答案

为mouseleave设置全局事件

使用useState在应用程序级别设置状态。可以将其传递给依赖于鼠标在视口中的组件。然后触发一些操作以“释放”拖动的对象。

document.addEventListener("mouseleave", (event) => {
  setState({inViewport: false})
}

在示例中,将状态传递给组件。

以上是关于[onDragEnd离开视口时不触发的主要内容,如果未能解决你的问题,请参考以下文章

鼠标点击事件

交叉口观察者 - 离开视口后如何删除类

方向更改时不可见的片段

React Native:如何在 ScrollView/ListView 子项进入/离开视口时为其设置不透明度动画?

css 快速片段将svg与中心对齐并缩放到视口大小。

onpageshowonpagehideonloadonunload