Hack ' mouseup '在IE 7/8窗口外

Hack for `mouseup` outside of window in IE 7/8

本文关键字:窗口 mouseup Hack IE      更新时间:2023-09-26

我理解事件mouseup的窗口只是不存在的IE 7和8。我想知道是否有人找到了一个变通办法,或者如果这是可能的。

我目前正在做一个项目,用户可以点击,拖动来画一条线,如果用户拖到窗口外让鼠标,绘制事务将被取消。

你的困难听起来更像是从窗口失去了事件的范围。

你在使用jQuery吗?使用jQuery,您还可以标记到mousemove事件,并使用"which"属性来检测按钮是否被按下。当你回到窗口时,它甚至会着火。但是当你在窗外时,它不会开火。

也可以使用$(window)。鼠标离开来检测它何时离开窗口。然而,一旦它离开了窗口,你就无法检测到进一步的鼠标事件(这将是一个可怕的缺陷,如果他们可以检测到当你右键单击你的桌面等)。

所以你在某种程度上受到所有浏览器的浏览器安全实现的限制,并且无法绕过它…但是,您可以在事件周围添加一些工作,以提供"类似"的体验。

不直接,但我相信这应该可以。

mousemove事件中,检查Event.buttons属性。如果为零,则用户必须在窗口外释放鼠标,您可以取消拖动。

我正在检查这个浏览器的兼容性,所以这个答案可能会被编辑。我的电脑现在很慢!