如何正确使用onmousedown/onmouseup?

问题描述 投票:0回答:2

每当我编写鼠标处理代码时,onmousedown/onmouseup/onmousemove 模型似乎总是迫使我生成不必要的复杂代码,这些代码最终仍然会导致各种 UI 错误。

我现在在主要软件中看到的主要问题是“幽灵鼠标”事件,即您将鼠标拖到窗口外然后放开。一旦您返回到窗口,即使按钮处于弹起状态,应用程序仍然认为您按下了鼠标。当您尝试突出显示到达屏幕边框的某些内容时,这尤其烦人。

是否有正确的方法来编写鼠标代码,或者整个模型只是有缺陷?

user-interface mouse user-experience
2个回答
2
投票

通常,捕获鼠标按下时的鼠标事件,因此无论插入符移出应用程序窗口如何,鼠标移动和鼠标向上都会遍历您的代码。

最近,在运行虚拟机或远程会话时,这是一个问题,其中的应用程序很难跟踪主机上窗口表示的机器屏幕区域之外的鼠标。


0
投票

我不确定您尝试在什么环境中跟踪鼠标按钮,但处理此问题的最佳方法是使用一个鼠标侦听器,在您检测到 onmousedown 后 100% 跟踪 onmouseup。

这样,用户在哪个屏幕区域释放鼠标按钮并不重要。无论发生在哪里,它都会重置。

© www.soinside.com 2019 - 2024. All rights reserved.