每当我编写鼠标处理代码时,onmousedown/onmouseup/onmousemove模型似乎总是迫使我生成不必要的复杂代码,最终仍会导致各种UI错误。
这些天我在主要软件中看到的主要问题是“幽灵鼠标”事件,在这个事件中,你拖到窗口外,然后松开。一旦你返回到窗口,应用程序仍然认为你按下了鼠标,即使按钮是向上的。当您试图突出显示屏幕边缘的内容时,这尤其令人恼火。
有没有一种正确的方式来编写鼠标代码,或者整个模型只是有缺陷?
发布于 2009-03-20 08:28:02
通常情况下,会捕获鼠标按下时的鼠标事件,因此无论插入符号移出应用程序窗口,鼠标移动和鼠标释放都会遍历您的代码。
最近,当运行VM或远程会话时,这是一个问题,这些应用程序很难在主机上的窗口表示的机器屏幕区域之外跟踪鼠标。
发布于 2009-03-20 09:17:15
我不确定你要在什么环境中跟踪鼠标按键,但最好的办法是有一个鼠标监听器,在你检测到onmousedown之后,它可以100%地跟踪onmouseup。
这样,用户在哪个屏幕区域释放鼠标按钮就无关紧要了。无论它发生在哪里,它都会重置。
https://stackoverflow.com/questions/665326
复制相似问题